[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 15:32 / Filesize : 253 KB / Number-of Response : 980
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

おまいら最強の麻雀プログラムしてみろよ Part2



1 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 21:47:50 ]
めざせ最強の麻雀プログラム!
層の薄いこのカテゴリーなら、将棋やオセロよりも
ずっと簡単にその地位を手にいれられるぞ!

778 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:55:46 ]
実装無ければ無意味。 まずは実装(サンプル)をうpしてほすい

779 名前:632 mailto:sage [2008/10/01(水) 02:43:52 ]
>>777
FrontPageに>>776さんの「アクションや情報が〜」の言葉も頂いて
追加しておきました。

>>776
現状の仕様では、和了ったときには
say <プレイヤー> ron または tsumo
open <プレイヤー> <手牌>
agari <プレイヤー>
の順にクライアントに送られます。

流局のときには、
ryukyoku
の後に親から順に
open <プレイヤー> <手牌> もしくは
close <プレイヤー>
が送られてきます。

手牌の公開をすべてopenコマンドに統一したので、逆にわかりにくくなって
しまったかもしれません。
コマンドの定義とは別に、本来はこういうフローも定義しないといけないんですが、
まだまとめきれていません(^^;

780 名前:632 mailto:sage [2008/10/01(水) 02:46:58 ]
>>778
まさにその通りで、実際に動作する実装があれば、もうちょっと
具体的な話もできるようになるんですが、現在鋭意制作中で
ございます(^^;

前にも書きましたが、ソースは随時SourceForgeのリポジトリに
commitしているので、興味のある方は参照して下さい。

でもできるだけ早く、ある程度のものをリリースしたいとは思っています。

781 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 12:48:43 ]
ちょっと見たけど、牌は全てユニークなIDでやり取りしたいなあ、16進で2桁で済むでしょ?
あと、進行は全て実際と同じようにサイコロ2回振って山のどこから切り出すとか、
サイコロの出目も含めて記録したい。
山を提供するだけ、サイコロを提供するだけ、それらのやり取りを全て記録し、牌譜が出せるやつまで
別に持っていたいのだけど。(ここでDB使う)

782 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 17:21:30 ]
第三者から見ると有る程度動く物が出来てからじゃないと無意味な議論を重ねてるようにしか見えないのだが?
どうせ鋭意制作中とか言っても完成まじかで「本業or学校or卒論等が忙しくなり・・・」で結局完成しない良くあるパターンに陥るのがみえみえ。

少しは完成させてからでも遅くは無いと思うんですが、どうなんでしょうかそんへん?

783 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 17:24:05 ]
SourceForgeにあがったコード見ながら、サーバで試しに動かしながらレスしてるのだけど。

784 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 18:45:22 ]
>>774
>クイタンありかなしかはサーバの実装次第で、クライアントの実装では、
>クイタンで和了ろうとして、サーバにコマンドを送って初めてわかります。

え、事前にサーバーにルールを問い合わせたりできないの?

785 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 18:56:16 ]
ルールのすり合わせの方法とかは必要なら追加になるだろうね。
AI前提だと、先にルールがある気がしないでもないが。

786 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 23:04:37 ]
ルールはその卓に固有のものなんだから
HELLOコマンドに乗せて最初に通達されるもんじゃないだろうか
実際の卓でも初めて打つ人とはレートとか先付けとか確認しておくよね



787 名前:632 mailto:sage [2008/10/02(木) 00:07:47 ]
>>784-786
自分の考えは>>774に書いた通りで、ルールをサーバとクライントで
通信に乗せてやりとりする必要はないと思っています。
もしそれで問題だと思うのであれば、具体的な例を示して頂けると
助かります。

ただし、>>786の言うように、helloコマンドである程度の情報を渡すのは
アリかなと思っています。しかし、それに依存したクライアントを作るのは
推奨しません。

788 名前:632 mailto:sage [2008/10/02(木) 00:13:31 ]
>>781
それぞれの牌にユニークなIDを振るのは、前にスレで提案頂いてから
検討してみましたが、結局止めました。
一番大きな理由は、牌の表記を現状の'1m'とかから変更するのに
良い案が浮かばなかったからです。
別に可読性は気にする必要はないのかもしれませんが、一応telnetでも
クライアントと成り得るのを目指していたので(^^;

サイの目に関しては、まったく意味がないので外していたんですが、
割れ目などを実装する際に必要になるのでUMPに追加しました。

それ以外のDBを使うという部分は、ちょっとイメージが良くわかなかったの
ですが、UMPというよりサーバの実装の話であれば、どうとでも対応できる
と思います。

789 名前:デフォルトの名無しさん [2008/10/02(木) 00:31:21 ]
コマンド一覧を眺めて、何点か気になる点があったので、
指摘事項を記載。

■「naku?」アクション後のリアクションについて
あるプレーヤーが捨牌後、残りのプレーヤーに対して
「naku?」コマンドが送信されるが、仮に3人とも「no」だった
場合に、現行の仕様では何もコマンドが返されない。

一応、3人とも「no」だった場合は、例えば

 say 0 noact

みたいなコマンドは発行した方が良いのでは?
すると、クライアント側では以下のような動きになるが
どうだろうか?

sutehai?→自家捨牌(sute)→リアクション無し(say no)→下家捨牌(sutehai)→naku?
→鳴かない(no)→リアクション無し(say no)→対面捨牌(sutehai)→naku?

790 名前:632 mailto:sage [2008/10/02(木) 00:35:59 ]
>>789
具体的な指摘、嬉しいです!
その状況では、noactの代わりに、他家のtsumoコマンドが送られる想定です。
つまり、tsumoコマンドは自分がツモった場合でも、他家がツモった場合でも
全員に送られます。

ちなみに鳴きの処理はまだ全く手つかずなので、実装していくうちに変更に
なる可能性もあります。

791 名前:デフォルトの名無しさん [2008/10/02(木) 00:37:05 ]
■他家の長考時について
「naku?」コマンド発行したタイミングで、2人はリプライが
あったが、残る1人からのリプライが無かったときに、
リプライを返した2人はサーバからの応答が無いまま
ずっと待っていることになる。

サーバは長考しているプレーヤーに対して、再度「naku?」
コマンドを発行して催促すると同時に、残りのプレーヤーには、

wait <プレイヤー>

というコマンドを発行して、今1人長考に入っていますと、
知らせてみてはどうだろうか?

792 名前:デフォルトの名無しさん [2008/10/02(木) 00:46:45 ]
「コマンド一覧」を眺めていて、自分の中で仕様を考えてるうちに、
単純化されたシステムを構築したいなら、CGIで十分だなと思えてきた。

とりあえず、サーバー内でタイマーを持たせて、
「10秒以内に返信が無いと、強制ツモ切り」という粗い感じの
仕様なら、そんなに難しくないと思う。

サーバ側から「もしもし捨牌が遅いですよ」と返信が来る様な
優しい仕様としたいなら、サーバとクライアントの双方向で通信
できるようなsocketのサンプルが無いと開発は難しい気がする

793 名前:デフォルトの名無しさん [2008/10/02(木) 00:54:44 ]
>>790
了解です。

[鳴き無し]
tsumo <自分> <残り枚数> <牌> →sutehai?→自家捨牌(sute)→tsumo <下家> <残り枚数>→下家捨牌(sutehai)→naku?
→鳴かない(no)→tsumo <下家> <残り枚数>→対面捨牌(sutehai)→naku?

[鳴き有り]
tsumo <自分> <残り枚数> <牌>→sutehai?→自家捨牌(sute)→tsumo <下家> <残り枚数>→下家捨牌(sutehai)→naku?
→鳴かない(no)→say <上家> pon →上家捨牌(sutehai)→naku?

という流れを理解しました。

794 名前:632 mailto:sage [2008/10/02(木) 01:22:38 ]
>>791
タイムアウトについては大変悩ましいところです。
とりあえず、クライアントから(サーバ時間で)一定時間、返答がなければ
サーバが勝手に進行してしまうというものを考えています。
また、現状の仕様だと誰の返答が遅いのかを、他のクライアントは知る
ことができませんが、これはこれで良いかなと考えています。

795 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 05:42:54 ]
同じ牌が4枚あるのは気持ち悪いな、、なんとかならないかな。
まあ内部で持つだけでやってみるか。

まったく同じ山でAIだけ差し替えて対戦とかも可能な様にやってるけど、それでいいかな。
すべての対局の山とダイスを記録してるけど、短時間に膨大な量の対戦をやると意味がなくなるかなあ。

796 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 05:45:18 ]
ネット対戦にするなら、トンプウ荘と繋ぐやつつれば十分では?
あとローカルで高速に動くやつ



797 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:03:37 ]
www.interq.or.jp/snake/totugeki/MJexeIODLLman.htm

798 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:08:06 ]
人間が混ざる環境だと迷惑では?
あと>>797の利用規約見たけど、AIで使うのは明らかに規約違反だな。

799 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:28:32 ]
個人で強いAIを作ってもそれを公開しなければいい。 

>以上は、個人的な研究程度の範疇なら問題ありません

800 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:32:11 ]
MJexeIO.DLLを簡単に利用するためのラッパーを作るだけならいいだろう。

801 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:34:53 ]
公開しないAIをこのスレで議論する意味あんの?

802 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 11:38:10 ]
Rと名前でわかる

803 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 17:26:27 ]
カスだな

804 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 00:18:39 ]
>>787
例に出てるけど、クイタンがあるかどうかは終盤の打ち筋に大きく影響するから、
アガッたときにはじめてわかる、なんて仕様はあり得ないと思う。
予めAIはクイタンが認められるかどうかを知っていないと。

それならクイタンありAIとクイタンなしAIの2つを分けて作れ、って考え方なんだろうけど
初めっから多態性を切り捨てたAIなんて面白くないよね。特にム板的には。

というわけで、「採用されている」ルールだけでも通達すべきだと思うんだ。
無数にある「採用されていない」ルールは無視してね。

805 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 00:20:33 ]
>>788
牌のユニークIDがないと赤には対応できないな
'5m'を'5M'にするとかか

806 名前:632 mailto:sage [2008/10/03(金) 00:28:15 ]
>>804
AIクライアントを起動するときに、オプションで指定すればそれで済むと
思っているんですが、サーバに問い合わせて自動で判別する必要が
あるんでしょうか?

>>805
赤牌は、おっしゃる通りの表記で既に仕様に入ってます。



807 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:39:05 ]
俺が一人で作ってるのとは微妙に仕様が違ってきてるな
いろんな考え方があって面白い

808 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 02:07:34 ]
>>806
いちいちオプション指定なんて面倒

809 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 02:11:18 ]
>>806
うっかり1人だけ設定間違えた、ってこともあるはず。
こういうことはしっかり確認を取れるようにしないとトラブルの元。


810 名前:632 mailto:sage [2008/10/03(金) 02:29:18 ]
>>809
自分はサーバとクライアントでルールをやりとりする方が
トラブルの元だと思っています。

例えば、クイタンありの場合は、サーバからhelloコマンドで
kuitan=1というオプションを渡すようにしましょう。
そしてクライアントはそれに対応しました。

ところが、他のサーバの実装ではkuitan=yesと送ってきました。
これは、サーバが悪いのでしょうか?それともクライアントが対応
すべきでしょうか?

このトラブルを回避するには、ルールを通達する場合の仕様を
決めなければなりません。
そうなると今度は麻雀のルールの多様さが問題になってきます。
ツモっても平和つくの?赤牌は何枚入ってるの?聴牌連荘?
裏ドラはあり?ダブロンは?etc...

「どうせUMPのサーバなんてお前しか作んねーよ。そんな先の
こと考えてんじゃねーよ」
という意見もあるでしょうし、おそらくそれはその通りです(^^;

が、だからこそ自分の正しいと思うように作りたいのです。

811 名前:632 mailto:sage [2008/10/03(金) 02:50:55 ]
>>807
どこらへんが違うのか、すごく興味があります(^^

812 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 10:07:24 ]
なんか東風荘の焼きなおしみたいな感じで独自にやる意味が薄くなっちゃったんだよね

813 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 10:10:23 ]
東風荘のつなぐやつ作ってくれよ

814 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 11:19:56 ]
>ルールを通達する場合の仕様を
>決めなければなりません。
実装とルールを切り離してるんだから、なにかしらルール定義ファイルがあるんじゃないのかな・・・
それ送っちゃえばいいのに。
マッチメイクサーバーとかが面倒見るのがいい気もするけど。

815 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:44:53 ]
IDE/ATAのIdentifyコマンドみたいに512byteとか
1024byteのパラメータの固まりをやりとりできる
コマンドを準備しておけば良いんでね?

フォーマットの中身は追々、考えるとして。
麻雀のルールは1000パラメータ以上もは無いだろう?
有りそうなら後々、長さを拡張できるようにしておく。

で、サーバーは一方的にルールを通知するだけ。
対応する、しない(できる、できない)は
クライアントの責任とする。

ルールの摺り合わせをするのはさすがに大変そうなので。

816 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:52:13 ]
あとで再現のために、誰がどのバージョンで参加したかのやり取りは必要だからね。



817 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 14:25:31 ]
じゃ、このルールで参加する、あるいは対応できないから
参加しない、の返事だけはクライアントから返すようにするとか。

その後、参加しているかどうかログ見れば分かるから
あまり意味ないけど。

818 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 19:52:46 ]
サーバに接続してからhelloでルール確認するって違和感あるんだけど
東風荘みたいに「○○ルールのサーバに接続しに行く」ってのはできんのかね

819 名前:デフォルトの名無しさん [2008/10/04(土) 23:37:26 ]
>>664
期待して待ってるんですが、その後どうですか?

820 名前:632 mailto:sage [2008/10/05(日) 02:39:38 ]
赤牌のことを考えると、チーとかポンで晒す牌を明示的に
指定しないといけないのか…地味に面倒だな(^^;

821 名前:デフォルトの名無しさん [2008/10/05(日) 02:47:35 ]
別に赤牌が無くてもチーは明示的に指定する必要がある

822 名前:632 mailto:sage [2008/10/05(日) 03:55:54 ]
>>821
いや、もちろん最初からチーのときは牌を指定させてたよw

823 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 10:55:11 ]
経過をたどればプロトコル関係ないだろ。
クライアントだけで晒す牌は自明。

824 名前:デフォルトの名無しさん [2008/10/05(日) 12:46:31 ]
>>823
お前は相手の牌が読めるのかよww

825 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 13:03:43 ]
>>824
sutehai

chi
pon
kan
の経過があれば可能

826 名前:デフォルトの名無しさん [2008/10/05(日) 13:16:58 ]
記述内容が荒くて答えになっていない

まず、それではあがった時や流局時にプレーヤーがどんな手牌
であるのか不明

つか、sutehaiとかchiとかのメッセージをサーバ間で
やりとりして、言語依存せずに麻雀のゲームを成立させることが、
このプロトコルが意図してるところだろ?



827 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 13:23:24 ]
>>826
これを読んでから言ってるの?
sourceforge.jp/projects/openmj/wiki/FrontPage

828 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 13:58:48 ]
ここまで読んできて非常に面白いと思った
麻雀は将棋やチェスと違ってプレイヤー間の意思疎通および時間経過の概念があるから
適当な考えで簡単に策定したら後で破綻しやすそうだね

個人的には錯和もチョンボも無いゲームは麻雀とは呼ばずに
麻雀モドキもしくはコンピュータ麻雀とか呼んで欲しいと思うけど

829 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:15:20 ]
他人の作るものにケチつけるくらいなら自分で作ればいい

830 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:26:31 ]
他人にケチ付けられて拗ねるぐらいなら公開掲示板などに書かなければいい

831 名前:632 mailto:sage [2008/10/05(日) 14:36:42 ]
>>828
> 個人的には錯和もチョンボも無いゲームは麻雀とは呼ばずに
> 麻雀モドキもしくはコンピュータ麻雀とか呼んで欲しいと思うけど

そういう意味では、自分はリアル(人間同士)の麻雀を再現したいとは
カケラも考えていません。だいたい、表情や仕草も見えない時点で全然
別物なのは皆わかってるものだと思いますが。

むしろ、そういう情報をなくすことで、より麻雀の「ゲーム」としての要素が
際立ち、そしてそこにコンピュータを使って最強のAIを作るという新たな
試みが生まれているのではないでしょうか。

その上で、チョンボは「コンピュータ麻雀」として意味があるのか、という
議論であれば、それは面白いと思います。

832 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:40:59 ]
チョンボが勝率に絡んでくることもあるだろ

833 名前:632 mailto:sage [2008/10/05(日) 14:43:27 ]
ちなみに、現状自分が作っているシステムではツモ切りかどうかを
誤魔化すことができません。
これは、本来の麻雀では小手返しのうまい人なら可能なことが
不可能になっているという意味で、チョンボを認めるかどうかなんか
よりよほど大きな問題だと思いますが、これについて一切ツッコミは
ありません。

というか、小手返しを使ってツモ切りかどうかを誤魔化せる麻雀ゲームって
存在するんですかね?

834 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 18:27:54 ]
意図的にチョンボしたい時用に、満貫払って降りる
チョンボコマンドでも定義しとけば?



835 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:09:26 ]
>>831
表情が見えないからこそ、牌で語るんじゃないの?
とりあえずノーテンリーチを認めない理由がわからない

836 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 22:37:02 ]
とりあえず動くクライアントを作らないか?



837 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 00:25:59 ]
ちゃんと動くサーバが出てソースが公開されたら、
俺がチョンボとかノーテンリーチとか対応するから問題なす。

838 名前:デフォルトの名無しさん [2008/10/06(月) 00:41:27 ]
>>835
つかノーテンリーチ認めてるところが
あるかよ
おまえ自身が異端だって気付けよ

839 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:40:49 ]
>これについて一切ツッコミはありません。

自分が考えたことに対する異論は片っぱしから拒否しといてつっこみがないとかあるかよ。
もう付き合ってられんわ。

840 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:29:03 ]
AI同士の勝負でバグを出すことがデメリットにならないなんて設計ミスだろ
ノーテンリーチやチョンボ判定せずにサーバの救済措置で勝つAIがあるとして
それは強いAIとは言わないし、そのプロトコルはAIの強さを保証できない

841 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 21:05:16 ]
本質がわかってないね
きみには強いAIは無理だからどうでもいいや

842 名前:632 mailto:sage [2008/10/07(火) 00:11:21 ]
>>839
チョンボとルールの伝達の件でしょうか?
それについては採用しない理由(デメリット)を説明しているつもりです。

ただルール伝達については、自分は必要がないと考えているんですが、
それを証明(?)するためにも、その仕組みでの実装を見せる必要が
あるかと思い、とりあえず議論よりも実装を頑張っている状態です。

その後、自分以外にもクライアントやAIを作ってくれる人が現れて、
やはりルール伝達があった方が問題が少なくなると思えば、仕様に
採り入れることもあります。

チョンボについては、極論すれば>>834の意見に行き着いてしまうと
思うのですが、やはりこれには抵抗を感じます。

843 名前:632 mailto:sage [2008/10/07(火) 00:15:32 ]
>>840
AIでチョンボというのは、それはもはやバグであり、強い弱いという
レベルとはかけ離れていると思います。
逆に、チョンボをサーバに救済してもらうことで勝てるAIなら、それは
バグを直せば強いのだから、強いAIなんじゃないでしょうか?



844 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:20:19 ]
チョンボで流れるルールだったら、チョンボで流して1位確定とかやれるんだよ・・・?
ルールによってはだけどね、流局連荘だけどチョンボだと流れるとか、どっかであったはず
普通ないけどね、一応こういうのもあるよっていう情報提供って意味でw

845 名前:632 mailto:sage [2008/10/07(火) 00:30:37 ]
また、人間が操作するタイプのクライアントの場合、クライアントで
チョンボを発生させないようにする(サーバに送らない)ことも可能です。
これは、オープンなプロトコルで、クライアントを自由に実装できる以上、
防ぎようがありません。

その上で、チョンボが発生するクライアントと、チョンボを発生させない
ようにしたクライアントで対戦するというのは、どうなんでしょうか。

「コンピュータに手助けしてもらって打つなんて麻雀じゃない」という
意見もあるかもしれません。

でも、一昔前は他家の点数を覚えておくのは技術でしたが、今どきの
自動卓ならボタンを押せば表示されます。
またゲームであれば、ツモ切りかどうかを捨て牌にわかりやすく表示して
くれるものもあります。

自分としては、そういうことを総合して、リアルの麻雀とコンピュータの
麻雀は違うのだから、リアルの麻雀のすべての要素を入れる必要はなく、
そしてチョンボはコンピュータ麻雀には不要だと考えたわけです。

846 名前:632 mailto:sage [2008/10/07(火) 00:34:32 ]
>>844
わかります。
ですから結局>>834を認めるかどうかなんですが、実際、自分は
今までに勝とうとしてわざとチョンボするヤツを見たことがありません。
暗黙の了解で、チョンボはわざとやらない、つまり戦術ではないと
いうものだと思ってたんですが、そんなこともないんでしょうか?



847 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:39:49 ]
っと、ごめん、すでに書いてあったのね
まぁ明記してくれればどっちでも自分はかまわないかな?お好きなようにっ
そこは設定できるようにしてあるしっ

848 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:42:43 ]
じゃあチョンボはサーバ側で勝手に弾いていいから
弾いたログだけは絶対に牌譜に残る仕様にしてくれよ

849 名前:632 mailto:sage [2008/10/07(火) 00:48:26 ]
>>848
今作ってるサーバをそういう仕様にするのは全然構わないですが、
すべてのサーバの実装はそうすべき、とするほどの意味が感じられません。

どういう用途で必要なんでしょうか?

850 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:27:43 ]
>>849
デバッグに有用な情報ではあるんじゃないかな。
チョンボするってのが、単にチョンボするだけの問題ってことはおそらくあまりなくて、
推論ロジック全体に影響する問題がある可能性が高いだろうし。
その一種の症候として検出するに値するものであると思うよ。
まあ、それだと全てのサーバがそうすべき、というほど強く必要なものでもないだろうけど。


851 名前:632 mailto:sage [2008/10/07(火) 01:36:00 ]
>>850
それは自分も考えました。
でもそうだとすると、サーバのログよりも、クライアントから不正な
返答があった場合には、サーバからerrorとかを返した上で続行
した方がクライアントのデバッグはやりやすいんじゃないでしょうか。

852 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 01:43:53 ]
>>846
>暗黙の了解で、チョンボはわざとやらない、つまり戦術ではないというものだと思ってたんですが

同意だ。
麻雀の戦術として、「この場合はチョンボしよう」というのも見たこと無いな。

チョンボは麻雀の中で、明らかに「例外」だ。
無しにできるのなら無しで良いものだと思う。

現在あるコンピュータ上の麻雀ゲームで、チョンボがあるものは多数あるため、なんとなく無いと変な気がするだけで、
無いからといって麻雀のゲーム性が損なわれることはまったく無いと考えられる。

リアルの麻雀では、山を手で崩してしまったら、なんらかの罰とかもあるわけだが、それは実装しなくて良いのだろうか。
その場合、AIが手のカーソルを牌を倒さないように避けるアルゴリズムが必要だな。


853 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:16:03 ]
>>851
それもそうか。

854 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:22:11 ]
たまにフリーでそういうプログラム欲しくなるな


んで、出来た?

855 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 02:49:21 ]
>>849
「完全にバグの無いプログラムの存在は証明し得ないから(悪魔の証明)」
言語が違うコンパイラが違うOSが違う加えて通信上の問題も多々ある
これ普通のマならみんな最大限警戒することだと思うけど

あなたが許したバグの責任はあなたが負うことを明示してねっ、てこと
チョンボを弾いたログは牌譜に残してね。お願いします

856 名前:632 mailto:sage [2008/10/07(火) 02:59:34 ]
>>854
進捗はSourceForgeのソースを動かしてもらうのが一番わかりやすいんですが、
とりあえず残る大物作業としては鳴きの処理くらいで、あとはGUIをもうちょっと
ちゃんとするのとか、バグとか、そんな感じです。
現在でも鳴けないけどツモ切り3人相手に一人打ちくらいならできます。

>>855
クライアントのバグの検出ということであれば、>>851の方法ではいかがでしょう?
牌符は東風荘と互換にしようと思ってるので、独自情報は追加できないかも。
それはそれとして、サーバのログは残すつもりですが。



857 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 03:51:37 ]
牌符を「東風荘と互換」にするなら錯和は必ず牌符に残ことになるはずでは
「それはそれとして、サーバのログは残す」ってどういうことなのでしょうか?
「独自情報の追加(削減?)」は不要なので普通に牌譜に記録して頂きたい

858 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 04:03:52 ]
サーバのログって言ったら通信履歴のことじゃないの?
通信記録=牌譜ではないでしょ。

859 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:16:04 ]
通信記録は全て残す
牌譜はその記録から抜き出す

これで好きな形式で牌譜も取り出せる

860 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 09:22:47 ]
AI対戦が根本にあるんだから、短時間で数百回勝手に対戦させといて
後で集計を確認したり、気になった局の牌譜を再現したりできるようにしたいじゃない?
せっかくサーバー使うんだし、DB使うってのはそういうことに使えるからなんだけどね。
人間に見やすいプロトコルのために機能を削るのはナンセンスだと思ってる。

861 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:09:37 ]
だから、チョンボは無しでノーテンリーチだけ認めればいいじゃん。
チョンボはルールの破壊だがノーテンリーチは戦術だろう

862 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:17:05 ]
ノーテンリーチで流局になったらチョンボだべや

863 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 20:49:33 ]
ノーテンリーチが戦術とか漫画の読みすぎじゃねーのw

馬鹿がいると話が進まないな
チョンボ厨は完全スルーでいいだろ


今更こんな質問をするのもなんだけど、AI同士の優劣を判定するには多数の対局をこなさないといけない麻雀というゲームの性質上、
対局のたびにネットワークを介する方法は効率が悪いのでは?


864 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 21:51:03 ]
ネットワーク用のプロトコルを作っておけば、
別にlocalhostでも使えるでしょ。

865 名前:632 mailto:sage [2008/10/08(水) 00:37:58 ]
>>857
牌譜を東風荘と互換にすることと、東風荘と同じ仕様(ルール)にするのは
イコールではないです。
ログについては>>858の言うように、いわゆる普通のログです。
通信だけには限りませんが。

クライアントのデバッグが目的であれば>>851の方法を提案しています。
これについてはどうでしょうか?
そういう目的のためではない、というのであれば、どうしろ、という形ではなく、
目的を教えて下さい。でないと対応できません。

866 名前:632 mailto:sage [2008/10/08(水) 00:41:24 ]
>>859
それも考えましたが、とりあえず東風荘形式で牌譜を出した方が
何かと便利な気がします。

で、東風荘の牌譜について調べてたんですが、どこかに仕様って
上がってます?
ざっと見た感じだと、鳴いたときに晒すメンツの情報が足りないような
気がするんですが…



867 名前:デフォルトの名無しさん [2008/10/08(水) 00:44:29 ]
mj.giganet.net/mjscore.htm

868 名前:632 mailto:sage [2008/10/08(水) 00:54:34 ]
>>860
> 人間に見やすいプロトコルのために機能を削るのはナンセンスだと思ってる

どの部分を指摘しているかわかりません。牌を個別IDにしなかったことでしょうか?
もしそうなら、それは機能を削ったという認識はないんですが、何かこれで失った
ものがあるんでしょうか?

869 名前:632 mailto:sage [2008/10/08(水) 00:55:43 ]
>>867
うわ、思いっきり本家にw
ググっても引っかからなかったのに。ありがとうございます(^^

870 名前:632 mailto:sage [2008/10/08(水) 01:00:10 ]
>>861-863
自分もノーテンリーチだけはアリかなと思ってます(^^;
理由は、
* 流局までチョンボにならない
* 途中で上がることで防げる
という部分で、他家同士の損得に影響が少なく、またゲーム性としても
いわゆる「ブラフ」としての価値はあるかと。
もちろん、罰符は親子で同じ点数、局は流れないという条件は付きますが。

871 名前:632 mailto:sage [2008/10/08(水) 01:05:18 ]
>>863
>>864の言うように、ローカルでサーバも動かせば、それほどロスはないと
考えています。
ただ効率とか速度はそれほど重視していないので、それこそ何万局も打たせて
集計をとりたいという目的には向いてないかもしれません。

ちなみに、自分はAI同士ももちろんですが、AI対人間も考えてこの仕組みを
作っています。
だって、強いAIなら自分で相手したいじゃないですか?(^^

872 名前:デフォルトの名無しさん [2008/10/08(水) 01:06:57 ]
人間が打てるなら3Dにしてください><

873 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:10:04 ]
>>872
大丈夫か?

874 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:10:11 ]
AIと人間が対戦するのにサーバ介してロビー用意してチャットシステム組んでやんの?
いつまでたってもできそうもないな。

875 名前:632 mailto:sage [2008/10/08(水) 01:15:47 ]
>>874
別にロビーもチャットも用意するつもりはありませんが?
そんなんなくても麻雀はできるでしょ。

876 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:16:17 ]
そもそも文字だけでやる気にはならないな
GUI作ってしまえばプロトコルなんてバイナリーでもかまわないわけで



877 名前:632 mailto:sage [2008/10/08(水) 01:17:22 ]
>>872
クライアントのクオリティは…優先順位は低いですが、頑張ります(^^;

878 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:18:59 ]
どうでもいいけど、自分と違う人の意見は絶対に聞かない態度はどうにかならないのか

879 名前:632 mailto:sage [2008/10/08(水) 01:19:08 ]
>>876
GUIクライアントも一応作ってます(^^;
さすがに人間が打つのにtelnet使えとかは言えないです。

880 名前:デフォルトの名無しさん [2008/10/08(水) 01:20:06 ]
>>878
お前がか?
自己紹介


881 名前:632 mailto:sage [2008/10/08(水) 01:23:09 ]
>>878
意見を聞くということが、言われたことをホイホイやるというのであれば
そんなつもりはカケラもありません。

リクエストについてはそれなりに理由をつけて反論しているつもりです。
ただ好き嫌いに関しては、当然ですが自分の好きを選びます。

882 名前:632 mailto:sage [2008/10/08(水) 01:32:29 ]
>>891
×リクエストについては〜
○採用しないリクエストについては〜

883 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:34:54 ]
今まで出た議論は理由を読めば俺も632の判断の方が総じて妥当だと思うけどね


884 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:07:57 ]
>>871
>ちなみに、自分はAI同士ももちろんですが、AI対人間も考えてこの仕組みを
>作っています。

逆指向なんだと思ってたので驚いた

885 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 09:43:44 ]
言っていることがころころかわる

886 名前:デフォルトの名無しさん [2008/10/08(水) 18:05:05 ]
亀レスかもしれませんがチョンボについて少々言わせてくださいw

私が以前参加した大会でのことなのですが、初心者が多かったためか
「チョンボは取らず、手牌を立て直してそのままゲーム続行」というルールがあり、
実際に何人かが救われていました。

自動卓のボタン押しちゃったから続行不可能だとか、相手の手牌を故意に倒しやがったとか、そういうのは起こらなかったため対処が不明ですが、
これらがコンピュータ麻雀で起こることはないと思うので、局を中断して点棒をやりとりするのはナンセンスと思います。
「正しくない和了を以下の手牌で宣言した」という情報だけなら、(どうしても必要という根強い意見があるのならば、) 流してもいいかなとは思いますが。

ノーテンリーチは正常な流局の不聴として扱い、リーチ棒は一旦供託したので供託のままだったと思います。たしか101とかでしたっけ? 門前なら聴牌/不聴を問わずリーチできる団体もあったような気がします。(あそこは不聴罰符もなかったかな?)
つまり、ノーテンリーチかけられる場合、流局時の罰符には反対票入れます。



887 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 19:52:21 ]
不聴罰符なし→毎局ダブリーする荒らしAI出現
→全ツッパAIが常勝→クライアント参加者消滅
→プロトコル死亡

888 名前:632 mailto:sage [2008/10/09(木) 02:26:18 ]
>>883
ありがとうございます(^^

>>884
人間同士の対局が主で、AIはついで、みたいな?
正直、そういう部分はあると思います(^^;
というか、人間かAIかというより、ネットワーク麻雀というものをもっとオープンに
したいというのが最大の目的です。
イメージ的には、好きなブラウザで、好きなサイトを見に行くような感覚で、
色々ある麻雀サーバに、好きなクライアントやAIで繋ぐ感じです。

889 名前:632 mailto:sage [2008/10/09(木) 02:28:23 ]
>>885
自分のことでしょうか?
どの部分についてそう思われたのですか?
むしろ、どっちかと言えば>>878で言われるように、頑固で自分の意見を
曲げない方なんじゃないかと思いますがw

890 名前:632 mailto:sage [2008/10/09(木) 02:39:53 ]
>>886
結局、ノーテンリーチも、チョンボで罰符を払って局を終わらせるのも麻雀の戦術と
みなすかどうかなんですよね。
101では有効だと判断すれば普通に使うんでしょうか?

ノー爆では爆岡と稲瀬さんが茶柱を追い詰めるためにノーテンリーチを使ってたし、
最近ではリスキーエッジでも吉岡が使ってて面白かったので、ノーテンリーチは
戦術とみなしても良いかなぁと思ってしまいます(^^;

ただ、やっぱり普通はそういう行為をワザとやるのは嫌がる人が多い気もします。

891 名前:632 mailto:sage [2008/10/09(木) 02:52:17 ]
>>887
わざわざ荒らし用のクライアントを書いてくれる人が現れるなら、
それはそれでちょっと嬉しいくらいです(^^

最初にも書いたけど、オープンなプロトコルを作りたいってのは
10年くらい前に考えて、でもそんときは2chとかなかったし、一人で
細々とやってて結局止めちゃったので、今はここで色々意見を
言ってくれる人がいて、それだけでも嬉しいです。
# 完全に構ってちゃんな発言だなw

892 名前:デフォルトの名無しさん [2008/10/09(木) 03:15:42 ]
そもそも今回麻雀のプロトコルは、サーバとクライアント間で
各メンツがどんなアクションや情報を出したかを
互いに伝達しあうことが目的ではないか?

メンツが出したアクション(毎回チョンボリーチをした、
役満でチョンボ流しをした等)がルール違反であるかは
「サーバ側で判断」すればよい。

サーバにメンツのアクションが正しく伝達されれば、
麻雀プロトコルの目的は達成できていると思うが?

893 名前:デフォルトの名無しさん [2008/10/09(木) 03:20:29 ]
ただ、東風荘とかのルールなら、ノーテンでのツモ宣告
は無視でイイのではないのか?

894 名前:632 mailto:sage [2008/10/09(木) 03:37:22 ]
>>892
まさにその通りで、現状のプロトコル(UMP)でも、誤ツモのチョンボで
局を流すとかは、
say A tsumo
point A -8000
kyokuend
で再現可能です。
ただ、この場合他のクライアントは「チョンボが発生した」と
いうことを知ることができません。UMPにそれに該当する
コマンドがないからです。

言ってしまえば、とりあえずUMPの仕様にchomboコマンドを
追加してしまえばそれで済むんですが、できれば入れたくないと
いう自分のワガママが問題を大きくしてしまっている気もします(^^;

895 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 07:59:24 ]
色々文句言ったこともあるけど
まずは単純でオーソドックスなものを作ってしまうべきなように思う

仕様に問題が出ればそれから対処すれば良いし
ルールもいきなり複雑なのはAIがついていけない

896 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 10:49:12 ]
お前らがあんまりにもグダグダだから遂にあらさんが立ち上がったぞ
俺はこっちに期待させてもらう



897 名前:デフォルトの名無しさん [2008/10/11(土) 00:46:39 ]
あらさんはこのプロトコルに興味を持たれている件

898 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 21:41:01 ]
C++アプリからこのプロトコルって使える?

899 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 21:45:02 ]
>>898
ネットワーク対応であれば
使用言語によらない

ひまわり でも なでしこ でも使える

900 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 21:56:01 ]
ありがとn
完成したら使わせてもらうかも

901 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 23:45:00 ]
保守


902 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 04:45:24 ]
営業「ネットワーク対応であれば使用言語によりません。ひまわりでもなでしこでも使えます」
営業「残業代は出すし。家に帰らなくていいから。今月中にできるよね。信頼してるし。お願いしたよ」

903 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 11:41:29 ]
ttp://ayamariplus.seesaa.net/article/103324673.html#comment

これワロタ 麻雀ソフトのイカサマについての論争


904 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 00:08:33 ]
結局突き詰めると、ツモを操作するよりもヤマをそれっぽく作った方が
ちゃんとしたイカサマになる。
最も簡単といわれる積み込みも、実際の積み方を知らないで仕組むと
イカサマというよりもただ都合がいいだけのゲームになるしね。

河から牌を拾ったり、エレベーターしかけたりというのも
牌の配置(抜きやすいところにあるか、ツモ番ずれてないか、など)で
リアリティが増す

905 名前:デフォルトの名無しさん [2008/10/24(金) 00:53:33 ]
毎回テンホー

コレ最強

906 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 09:52:10 ]
まずは親にならなくちゃな



907 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 21:29:49 ]
おやややおやにおあやまり

908 名前:デフォルトの名無しさん [2008/10/31(金) 18:32:54 ]
(これから現れてくれることを願う) 海外の研究者のために (、またちょっとだけかっこいいという理由で)、コマンドの名前は英語を基本にした方がいいと思います
draw / discard / up / ...

909 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:23:02 ]
むしろ日本のゲームなんだから誇りを持ってひらがなにしようぜ

910 名前:デフォルトの名無しさん [2008/11/01(土) 00:39:22 ]
「ひまわり」以外は使えないようにしよう!!!

911 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:51:45 ]
>>908
ゲーム内の名前は変えちゃダメだ
ますます麻雀もどきになってしまう

ドンジャラみたいなw

912 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 01:58:23 ]
麻雀が日本のゲーム?
そりゃルールは日本独自のもあるけどさ

913 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 02:00:56 ]
>>908
>>909
>>910
632が錯和無しルールを強行した結果、オープンネットワーク麻雀はスレ民に完全に見捨てられました
今後は電脳荘か、あらさんの企画が通信規約の規定に達するまで静かに見守って下さるようお願い致します

914 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 05:00:57 ]
ひたすら他力本願だなw

915 名前:デフォルトの名無しさん [2008/11/01(土) 07:35:42 ]
ここにある「ルールベースのアルゴリズム」って何ですか?

mahjong.ara3.net/ymt/diary/2008101501.htm

916 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 10:41:08 ]
>>915
三着と2万点以上の差がある場合には、
配牌で7種以上のヤオチュウ牌があったら国士を狙う、
とか、
チートイの二向聴のときは、
残り枚数が一番少ない中で一番内側の牌を捨てる
とか、
そんな感じで全部ルールで決めてしまう方式。



917 名前:デフォルトの名無しさん [2008/11/02(日) 18:59:11 ]
>>916
分りやすい解説
ありがとうございました

918 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:45:13 ]
決め打ち のアルゴリズムでかっこういいのが出来そう
ちょっと古いけどナルミみたいなのが出来たらいいな

919 名前:デフォルトの名無しさん [2008/11/08(土) 04:54:39 ]
結局ソースフォージーたて逃げ

920 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 13:53:51 ]
死んだ子の齢を数えても仕方ない

921 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 15:21:41 ]
>>919>>920
詳しく

922 名前:デフォルトの名無しさん [2008/11/08(土) 19:06:12 ]
>>738
738 名前:632[sage] 投稿日:2008/09/27(土) 15:39:46
ちなみに、開発途中ではありますが、ソースコードをSourceForgeの
SVNに随時commitしているので、興味のある方は
svn.sourceforge.jp/cgi-bin/viewcvs.cgi/?root=openmj
から拾って下さい。

↑↑↑既に3週間放置↓↓↓
つか、9月末に公開して、10月初旬には既に放り投げてる

(dir) client/ 11 3 weeks yatsuhashi
(dir) common/ 9 4 weeks yatsuhashi
(dir) lib/ 10 4 weeks yatsuhashi
(dir) server/ 10 4 weeks yatsuhashi
(dir) test/ 7 4 weeks yatsuhashi * 点数計算とか追加
(file) Makefile 11 3 weeks yatsuhashi

923 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:34:08 ]
ちやほやされたいだけだった、ってことだな。

924 名前:632 [2008/11/10(月) 01:41:55 ]
お久しぶりです。SourceForgeの方の人ですw
叩かれてますな(^^;

途中で言われたように、とりあえずモノができないと話にならないと思い、
まずは作ってしまうまで発言は控えようと思ったものの、一人になると
生来の怠け癖と飽きっぽさで、すっかりサボってしまいました。
期待して下さっていた方には申し訳ありません。

ということで、その後も特に進展はないのですが、良かれ悪しかれ気にして
下さっている方もいるようなので、まだ死んでないよという書き込みでした(^^;

925 名前:632 mailto:sage [2008/11/10(月) 01:44:57 ]
>>908
それも考えたんですが、それだとやはりわかりにくいだろうと
思って止めました。

926 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 01:50:11 ]
>>924
せっかくsourceforgeを使ってるんだから孤独にやらず
仲間を募り方針を示して複数人数で開発をした方が
少しずつでも進展するのでは?
強いリーダーシップと適切なアプローチの提示が必要だとは思うけど



927 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 01:56:41 ]
今更顔出すってことはチョンボはちゃんと罰符払う仕様に変わったってことだよね?


928 名前:632 mailto:sage [2008/11/10(月) 02:12:48 ]
>>926
もちろん協力してくれる方がいれば嬉しいですが、それにしたって
もうちょっとできてからでないと話にならないかと(^^;
とりあえずはサーバ/GUIクライアントで麻雀が打てるレベルまでは
一人で仕上げたいと思います。
そこまではそんなに遠くない…ハズ。

>>927
久しぶりに書き込んだら早速それかw

929 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 10:13:49 ]
もういいから次の新しい人に来て欲しいよね

まあ今スレは反省会で埋めて、次スレからは新仕様の話をしようか

930 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 13:50:44 ]
作ってみたけど、まったり麻雀には全く及ばないので諦めたよw

931 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 14:25:59 ]
そのうち慣れるんだろうけど、クライアント-サーバモデルでのプログラミングってなんか気持ち悪いな
初めてマルチスレッドアプリを作ったときの感覚を思い出すぜ

932 名前:デフォルトの名無しさん [2008/11/15(土) 08:48:03 ]
ならどんなモデルならいいんだよ

933 名前:デフォルトの名無しさん [2008/11/15(土) 20:45:18 ]
勝ちまくってるときは大ラスでチョンボして勝ち確定!!!

934 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 04:53:37 ]
チョンボ罰則はリーグ戦みたいにチョンボ1回につき
トータルスコアから-100するなどの
ペナルティ制にするといいんじゃないか


935 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:52:53 ]
>>933
チョンボはゲームそのものは続行が原則なので
オーラスでチョンボしても本場積まずに再開です

936 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 10:47:35 ]
なるほど、いろいろあるんだな。
ttp://www.asamiryo.jp/chonbo02.html

戦略でのチョンボは防ぐ方向にしたいところではあるな。



937 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 20:46:59 ]
物理エンジン搭載で牌を手積みできるようにお願いします

938 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 10:36:37 ]
インターフェースどうすんのよ。
マウスかタッチペンでやるか?

939 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 11:21:11 ]
Macのマルチタッチパッドで

940 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 21:48:48 ]
パワーグローブだろう。
牌は実際にどっかに物理的に用意された物をマニピュレータで積むのだ。

941 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:27:21 ]
おもしろそうですね。
参加するならこれくらいは読んどかないと話にならん
という本があったら紹介してください

942 名前:デフォルトの名無しさん [2008/11/27(木) 00:51:25 ]
* 和了形判定にテーブルを用いるように
* 一盃口の判定がバグっていたので修正
* OpenMj::ClientにPlayerクラスを追加

あたりで力尽きてるっぽい

943 名前:632 mailto:sage [2008/11/27(木) 01:13:40 ]
>>942
力尽きてないっすよw
クライアント(GUI)の鳴き処理(入力)をどうしようか考えてます。
赤牌なければ最大3パターンだけど、赤牌が複数種ある場合も想定
すると、晒す牌を個別に指定するのが単純だけど、UIとしては
微妙だなぁ、とか。

944 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:33:35 ]
>>943
いいからもう寝とけ
もう誰も期待してないから

945 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:54:59 ]
>>870を見るに箇条書きの頭に"*"を使うのは>>632の習慣。>>942>>632の自作自演だろ
力尽きていても尽きていなくても、出来上がるのはゴミっつうのがアレだねえ・・・

946 名前:デフォルトの名無しさん [2008/11/27(木) 07:59:18 ]
フォローをするけど>>942を書いたものだが自作自演じゃないよ
でも傍から見てるとあと1年は掛りそうなペースだな



947 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 09:51:09 ]
人の意見を取り入れないからだれも手伝わなくなっちゃうんだよ

948 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 15:24:49 ]
配牌の方法がわからん俺にヒントくれ

949 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 16:40:28 ]
int i = 0, j = 0, color = 0, num = 0;
while(i < 13){ //配牌は13枚
j = kicha + kyoku;
while(j < PLAYER_CNT + kicha + kyoku){
color = (int)((rand() / ((double)RAND_MAX + 1.0f)) * 4);
num = (int)((rand() / ((double)RAND_MAX + 1.0f)) * 9);
if(!yama.Get(color, num)){ continue; }
if((color == TSUPAI)&&(num > CHUN)){ continue; }

nanikiru[j%4].SetTehai(color, num, 1);
yama.Set(color, num, -1);
++j;
}
++i;
}

950 名前:デフォルトの名無しさん [2008/12/01(月) 22:42:55 ]
配牌で配られる手牌って別に自分で
決めるわけじゃないだろ???

951 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:32:19 ]
AIだけ作ってる奴なんていない。みんな自前で雀卓周りのコード書いてる
でなきゃAI強化したとき本当に強くなったか検証できないだろ


952 名前:デフォルトの名無しさん [2008/12/01(月) 23:45:01 ]
なら配牌の方法くらい自分で好き勝手に
定義すりゃいいじゃん
わざわざ聞くことでもないだろ

953 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:04:12 ]
アホか。俺は答えた方だ

954 名前:デフォルトの名無しさん [2008/12/02(火) 00:06:47 ]
奈々氏ばっかなんだから
どっちがどっちなんか分るわけねーだろ

955 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:19:05 ]
並の読解力があれば想像付くんだけどね。

956 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 09:55:54 ]
136通りの牌をシャッフルして順番に並べて
席順とサイコロ振れば、配牌は自動的に決まるだろう。



957 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 14:47:49 ]
白とか赤牌を入れたいときはどうすればいいの?

958 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:26:31 ]
入れたって全体の数が増えるんじゃないんだから、id差し替えればいいだけでは

959 名前:デフォルトの名無しさん [2008/12/06(土) 21:58:05 ]
結局配牌はできたのか?

960 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 22:06:26 ]
その前に自分自身に少なくともプロ並みの雀力がないと駄目だと思から、
俺は雀力向上と数学の知識を身につけてる。

961 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 22:08:39 ]
配列のシャッフルが実装できないやつなんていないだろ

962 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 22:13:42 ]
空鍋をかき回すように中身のない配列を…

963 名前:デフォルトの名無しさん [2008/12/06(土) 22:20:22 ]
>>960
それはプログラム投げ出したいいわけか?

964 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 07:12:36 ]

「WOLF RPGエディター」とは? 
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
 不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
 その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
 慣れた人やRPGツクールでは物足りないけどプログラミングはちょっという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
 また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、バグ報告などなど書き込みお願いします。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
 一度サイトにお越しくださいませ。

2ちゃん本スレ
pc11.2ch.net/test/read.cgi/gamedev/1226294070/l100

965 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:51:46 ]
>>960のAIは完成しないに1000ジンバブエドル

966 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:56:41 ]
年明けには第4ジンバブエドルの発行来るかな?
今度は何桁切り捨てるんだろうね。



967 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 14:14:50 ]
「国(政権)の崩壊が先に来る」に100第4ジンバブエドル。

968 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 03:07:32 ]
ひとつ質問。基本的な麻雀の質問ですまないが。

暗槓3つと1枚の計13枚は七対子で言うと何向聴?
例えば、AAAABBBBCCCCDだとすると自作で判定させると5向聴なんだが、
実際5枚入れ替えても七対子として聴牌しない。

969 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 04:08:26 ]
普通に考えたら六向聴だね。
多分だけど、たとえば AAEEBBFFCCCDD みたいになったときに、
CCC を対子ひとつと単騎の待ち牌とに誤認してるんじゃないかと思った。

970 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 06:00:05 ]
>>968
槓しておいて七対子は無理でしょ
手牌が AAAABBBBCCCCD なら既にテンパイでは?

971 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 07:31:31 ]
>>970のようなやつがジャンラインを作ってしまうと言うことがよくわかった



972 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 07:46:21 ]
>>968
mahjong.ara3.net/etc/shanten/shanten2.htm
(6-3)+(7-4)=6
ですね。

973 名前:デフォルトの名無しさん [2008/12/10(水) 07:56:08 ]
>>972
計算間違ってるよw

974 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 09:16:18 ]
>>969
うわ本当だ。そっちのパターンでも間違えた。
AAEECCCZXYWVUみたいな他がバラバラの時は正しかったから見逃してた。

>>970
11112222・・・じゃなくてAAAABBBB・・・って書いた理由を察してくれ。
その誤解を避けるために>>959はAAEEBB・・・ってしてくれたけど。

>>971
字牌でで順子が作れるやつかw

>>972
おお。同じ考え方だ。
でもそのページの一番下も14枚で考えてるだけで6向聴の間違いじゃないのかな?

実際ここから七対子狙いになんか行かないから実用上問題無いんだが、
例えば特殊なルールで七対子縛りとかあった場合にリアル麻雀では
何向聴扱いなのかなと疑問に思ったもので。

975 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 10:46:59 ]
AAAABBBBCCCCDなら、カンを3回すれば2向聴じゃないの?
まあすぐ流されそうだが。

976 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 21:25:46 ]
>>974
>でもそのページの一番下も14枚で考えてるだけで6向聴の間違いじゃないのかな?
AAAABBBBCCCCDDから何を捨てるかという話ですね

AAAABBBBCCCCDなら6向聴
AAAABBBBCCCDDなら5向聴



977 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:42:41 ]
もうすぐクリスマスだけど、どうよ?

978 名前:デフォルトの名無しさん [2008/12/19(金) 00:51:31 ]
Revision 21 - (view) (download) - [select for diffs]
Modified Sun Nov 16 18:27:54 2008 UTC (4 weeks, 3 days ago) by yatsuhashi
File length: 2875 byte(s)
Diff to previous 7

* 和了形判定にテーブルを用いるように
* 一盃口の判定がバグっていたので修正
* OpenMj::ClientにPlayerクラスを追加

どうよも何もここで完全に放置しているし
このスレも収束かな?

979 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 18:20:51 ]
チョンボ君はあれだけの情熱を見せたんだからきっと作ってるよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<253KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef