1 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 21:47:50 ] めざせ最強の麻雀プログラム! 層の薄いこのカテゴリーなら、将棋やオセロよりも ずっと簡単にその地位を手にいれられるぞ!
722 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 02:32:33 ] >>720 オープンリーチは待ちのわかる牌だけ晒すルールもあるので、 晒す牌の選択はクライアント側ではないかと。 プロトコルが対応してないから採用出来ないルール、ってのは 出来るだけ無い方がいいでしょ?
723 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 02:37:48 ] >>722 サーバーは待ちのわかる牌を自動判別出来るはずだから、サーバーが決めるんでいいじゃん。
724 名前:632 mailto:sage [2008/09/26(金) 02:38:05 ] >>722 んにゃ、全部晒すかどうかもサーバ側で決定します。 どうせサーバ側では不正をチェックしなければいけないので。 一部だけ晒せばOK、というルールのサーバのときに、 すべての手牌を晒したい、というときには問題になりますが、 それに対応する必要性は感じないんですが、どうでしょうか。
725 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 02:54:15 ] たとえば、23456と持っていて56を晒してオープンリーチ、ってのが許されるルールはありか? とかいう話かな。 もちろん、4,7のツモ上がり前提で。
726 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 03:31:50 ] >>724 >それに対応する必要性は感じないんですが、どうでしょうか。 プレーヤーにとって意味ある事かどうかは、 プロトコル側では関知しないっていうポリシー だと思ってたけど、違った?
727 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 07:28:21 ] まずはルールはこれでいいだろう act0.net/cgi-bin/source/up0280.txt
728 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 22:13:05 ] >>632 open<プレイヤー><手牌>で手牌全部見せたときと 鳴いた面子だけ見せたときのコマンドが一緒になると クライアント側で牌の数チェックする手間がでるんで 手牌か面子(ポン・チー/カン)かのフラグが欲しいです
729 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 22:23:48 ] 情報にはノイズ乗せないの?
730 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 22:52:12 ] 打牌に制限時間設けないとひたすらぶん回し続けるAIが出てくる予感 一秒制限の早差し勝負とかもやってみたい
731 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 23:36:33 ] 通信が遅れる可能性は十分考えられるので サーバ・クライアント共に何回目のackかを示す情報も必要かも
732 名前:632 mailto:sage [2008/09/27(土) 15:12:38 ] >>725 さすがにそんなルールは聞いたことないですが、もしかしたら 1が枯れている場合はOKとかはあるかもしれません。 >>726 おっしゃる通りです(^^; ということで、とりあえずopenrichiコマンドに晒したい部分の手牌も 指定できるよう仕様に追加しました。
733 名前:632 mailto:sage [2008/09/27(土) 15:13:04 ] >>728 openの手牌は、手牌の表記に則るので、 和了ったときは open A 1m2m3m4p5p6p7s8s9s1z1z1z2z2z ポンのときは open A <3m3m3m> チーのときは open A <1p2p3p> 暗槓は open A (8s8s8s8s) となるので、クライアントでも容易に区別できると思います。 >>729 ノイズって、どういうことでしょうか?
734 名前:632 mailto:sage [2008/09/27(土) 15:17:57 ] >>730 実際に運用するとなると、時間制限は必要になると思いますが、 実験段階では、ひたすらぶん回して、それこそ1打1時間とかかけたとしても 本当に強いAIが出てくるなら、それはそれで面白いんじゃないでしょうか。 >>731 コマンド形式のところにある<センテンスID>というのがそれです。 ちなみに、最初はサーバから1コマンド送るごとに必ずクライアントの ack(okコマンド)を待っていたのですが、実装してるうちに不要な気が してきたので、必要なとき以外はクライアントからの返答を待たない ようにしました。
735 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 15:21:19 ] 1打1時間掛かったら強いことが調べられない
736 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 15:33:13 ] >>632 をを、プロトコルが強化されてる、乙かれ。
737 名前:632 mailto:sage [2008/09/27(土) 15:37:46 ] >>735 人間相手だと、さすがに人間の方が耐えられないだろうけど、 AI同士なら別に1打1時間かかるのもアリじゃない? まあでも実際、将棋や囲碁に比べれば、麻雀はプレイヤーの できることが少ないから、さすがに1打1時間はないと思うけど。 >>736 実装しながらなので、随時変更してってます(^^;
738 名前:632 mailto:sage [2008/09/27(土) 15:39:46 ] ちなみに、開発途中ではありますが、ソースコードをSourceForgeの SVNに随時commitしているので、興味のある方は svn.sourceforge.jp/cgi-bin/viewcvs.cgi/?root=openmj から拾って下さい。
739 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 15:47:07 ] AIどおしでも1時間は無いよ。 たとえば一手3秒以内で1日中動かして統計を取ったとする。 これを一手1時間以内でやったら、同じ回数をこなすには1200日掛かることになる。 3年以上掛けてパソコンを動かさなければ強さが判らない。
740 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 15:51:03 ] PC1台で検証するならそうだな
741 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 15:51:27 ] PCの性能で応答時間は異なるけど、一つが遅ければ全体に影響するから 平均応答時間程度にするとかにして、時間切れはツモぎりとかのほうがいいとはおもう。
742 名前:632 mailto:sage [2008/09/27(土) 15:58:26 ] 実際に色々なAI同士を戦わせてみよう!となったら、 麻雀のルールの他にも決めなければいけないことは あると思います。 それこそ制限時間とか、あるいは鳴くかどうかのラグを 情報として使うのはアリか、とか、相手のAIの傾向を 「最初から」入れておくのはアリか…等々。 いうなれば大会のルールみたいなものですね。
743 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 16:06:22 ] 一手に3秒もかかったら、まともな統計は取れないですね
744 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 18:55:36 ] >>729 733のいうノイズは、おそらく意図的な情報伝達ミスだろう 麻雀でいうなら見間違いとか切り間違いとか ゲーム理論の研究ならノイズも必要だけど、麻雀サーバには無用な仕様だよね
745 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 19:06:32 ] ルールは実在ルールの中でもAIにとって処理しやすいものが良いと思う。
746 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 20:24:35 ] >744 エラー処理あるいはテスト仕様としては必要かも知れないよ。 つまりクライアントやサーバーが全く期待していない 矛盾した情報を受け取った時に何を返すべきか? 意味不明だと単にエラーを返すか、通信にリトライを要求するか? そこまで仕様として決めておくのは面倒ではあるが、 下手をすると一回の通信エラーで全体が一気に倒れかねない。
747 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 21:00:00 ] 今の仕様だと誤ポンも誤ロンもサーバが無視なのか・・・ クライアントが矛盾したロンやリーチしたら それはそういうときの処理をした方がいいのでは?
748 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 21:28:36 ] ルールとプロトコルが直行するように決めるなら ダブロンとかの扱いもちゃんとしておかないと
749 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 21:50:04 ] 「コンピュータ麻雀のアルゴリズム」なんて本が出てるんですね。 Amazonのおすすめに出てきて驚きました。
750 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:44:26 ] >>747 誤ロン誤ツモはチョンボだろ ノーテンリーチはかけられるようにしとかないと 戦略の幅が狭まる
751 名前:632 mailto:sage [2008/09/27(土) 23:31:05 ] >>747 自分の考えでは、誤ポンや誤ロンは、麻雀とってはまったく 不要な要素だと思っています。 極端な話、山を崩すのとたいして変わらないくらいで、 コンピュータ上で麻雀を打つなら、発生させないように するのがベストではないでしょうか。 ただ、>>750 の言う通り、ノーテンリーチについては戦術として 考えることもできるので、それは悩ましいところです。 >>748 一応現状のプロトコルの仕様でもダブロンは発生させることが できると思います。 ただ、自分が作るサーバの実装では入れるつもりはありません。
752 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 00:57:59 ] チョンボはありだろ。 役満がほぼ出るならチョンボして流すという手もあり得る
753 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 09:53:14 ] なら、>>752 がチョンボあり版を作ればいいじゃない
754 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 15:00:06 ] >>751 極端な話、その仕様だとクライアント制作者は和了判定を素っ飛ばして とりあえず毎回サーバに和了コマンド送信する処理でもいいことになる まあ毎回でなくとも形聴取ったなら海底河底で一応和了っておけみたいな 錯和が不要という考えは分かるけど何かしら対策はした方が良さ気
755 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 02:02:32 ] そもそもサーバにそういった情報も問い合わせられるようにするなら そんな心配は無用
756 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 14:42:31 ] ouc.daishodai.ac.jp/facilities/ams_labo/publication_bulletin.html これの麻雀研究特集号を読んだ人いますか? どんな内容でしたか? 「麻雀のベストプレイは存在するか」が気になる
757 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 20:24:53 ] 鳴きのアルゴリズムって、基本的に 鳴いた場合の期待値 > 鳴かない場合の期待値 の時に鳴くって考え方でおk?
758 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 20:28:24 ] >>757 一発消しだったり、自分が上がれる確率まで含めての期待値だったり
759 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 21:13:42 ] >>757 ま、どんなときでも期待値の高い選択をすればそれでいいわけで、 期待値が計算出来ないってのが問題ということです。 www.ara3.net/hmr/expect.htm
760 名前:632 mailto:sage [2008/09/29(月) 23:46:31 ] >>754 > その仕様だとクライアント制作者は和了判定を素っ飛ばして > とりあえず毎回サーバに和了コマンド送信する処理でもいいことになる 別にそれでも全然構わないと思ってるんですが、問題あるでしょうか?
761 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 01:27:00 ] ある そんなのは麻雀AIじゃない
762 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 01:31:02 ] 二歩を指した将棋AIが負けを宣言されるとするならば 誤ロンした麻雀AIはチョンボを取られるべきだ なぜなら、それが麻雀というゲームのルールだから
763 名前:632 mailto:sage [2008/09/30(火) 01:48:11 ] >>762 将棋の場合は二人なので、片方に対するペナルティは、 必ず対戦相手の利益になりますが、4人で打つ麻雀の場合、 あるプレイヤーに対するペナルティが、他の3人に対して公平で ないのが問題です。 そう考えると、可能な限りペナルティが発生しないというのが 理想だと自分は思います。
764 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 01:56:28 ] >>760 抜け道があると「UMPでは最強かも知れないけれど〜」みたいな グタグタな流れになるので、できれば対策して頂きたいです 錯和してるのに続行は問題なんで、和了放棄とか特別ルールはどうですか?
765 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 02:04:15 ] >あるプレイヤーに対するペナルティが、他の3人に対して公平でないのが問題です。 チョンボは親子関係なく3000オールって雀荘もありますけど、それでどうですか?
766 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 02:10:18 ] 標的が和了するのを阻止するためだけに わざとチョンボされるかもしれない問題ってのも 考えられるからルール設定の扱いにしては? 有効、無効はサーバ側で決定 局or半荘開始時にサーバからクライアントに送信される形で
767 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 02:16:02 ] 補足しておく ハコテンで半荘終了であるとする ある局で特定のクライアントがトップ目であるとき チョンボクライアントが常にチョンボすることで 半荘のトップ目をとらせるという戦略が考えられるなぁと
768 名前:632 mailto:sage [2008/09/30(火) 03:29:23 ] チョンボについて意見が多く、それに対して自分の見解をまとめて みたんですが、あまりに長文になってしまったので sourceforge.jp/projects/openmj/wiki/chombo に書いておきました。
769 名前:632 mailto:sage [2008/09/30(火) 03:37:16 ] ちょっと書き逃げみたいになっちゃいましたが、自分としてはまず、 UMPでのサーバ/クライアントで麻雀を打てるようにする、というのが 第一にあります。 その次に、チョンボも含めたルールとか、あるいは実際にどこかにサーバを 立てるのか、どう運用するのかということを考えなければいけないと 思いますが、現状その段階についてはあまり具体的に考えていません。 # 正直、チョンボ云々より、実際サーバプログラムを作ったとして、どこで # 動かしたら良いかの方が悩みです(^^; もちろん議論自体は活発に行われるのは良いことだと思いますが、 とりあえず自分の現状のスタンスを表明しておきたかったのです。
770 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 18:59:55 ] まあテスト用のサーバとしてうちで提供してもいいよ。 RDBMSを積極的に使ったシステムがいいなあ。
771 名前:デフォルトの名無しさん [2008/10/01(水) 00:31:11 ] つかさ、 チョンボの有無 ハコテンの有無 ノーテンリーチ、オープンリーチの有無 パオの有無 等など、、、 そんなのパーラメータ化して、サーバごとで管理できるようしろよw 2chだって"SETTING.TXT"で、板ごとの要求に合わせて 設定されてるんだし、ちゃんと参考にしとけよ kobe.cool.ne.jp/r_030/2ch_jikken/SETTING.htm sourceforge.jpで新しいプロトコルの作成を目指すなら、 それくらいの気のきいた仕様をちゃんと考えてからにしとけ
772 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 00:38:37 ] >>771 基本姿勢が決まってないととりあえず動かすためのクライアントを作るのが難しいぞ
773 名前:デフォルトの名無しさん [2008/10/01(水) 01:11:34 ] 一番言いたいことは、個人で採用したいルールはサーバー側では 簡単に定義できるような柔軟なプロトコル仕様であって欲しいということ。 基本段階で決定するような、麻雀のルール決めはサーバ管理者の 裁量に任せればいいが、プロトコルの仕様という話ならば、 どんな特殊なルールであっても、単純に組み込めるようになってないと、 そもそもプロトコルとしての意味が無い 東風荘や麻雀ファイトクラブで採用してないような オープンリーチやフリテンリーチが固定で組み込 まれているようなプロトコルになるなら、絶対に使わないし、いらねえ
774 名前:632 mailto:sage [2008/10/01(水) 01:29:12 ] 何度も繰り返しになりますが、UMPでは麻雀自体のルールは定義する つもりはありません。つまり、「クイタンあり」みたいな情報をUMPでは 流さないで済むように考えています。 クイタンありかなしかはサーバの実装次第で、クライアントの実装では、 クイタンで和了ろうとして、サーバにコマンドを送って初めてわかります。 これだと問題だ!と考える方もいると思いますが、クライアントが人間で あれば、例えばサーバのHPとかに書いておけば良いし、AIだとしても、 どんなルールにも自動で対応するAIというのは、手間がかかるわりに 難しいので、それを考慮する必要はないと思います。 それこそAIを動かす際のオプションで指定すれば済む話です。 >>771 のように、パラメータを受け渡しする方法だと、そのパラメータを 策定しなくてはならず、無数にある麻雀のルールの洗い出しとまとめが 必要になり、それこそ気の利かない仕様だと思います。
775 名前:632 mailto:sage [2008/10/01(水) 01:31:20 ] >>770 そう言って下さる方が現れるのを期待していました(^^ もしよろしければ、SourceForgeの方に自分のメアドが ありますので、そちらにメールを頂けますでしょうか?
776 名前:デフォルトの名無しさん [2008/10/01(水) 01:39:01 ] >>774 了解です。それでいいと思います。 クライアント→サーバ サーバ→クライアント で、やり取りされるアクションや情報が全て網羅されることを期待しています。 個人的な要望としては、誰かがロン・ツモで上がったときや流局のときに 手牌を倒したプレーヤの手牌情報は取得できるようにして欲しい。 この手の仕様では、サーバ側が必要とする情報だけしか定義されていなくて、 クライアントからでは情報が取ってこれないということがよくある。 ランダムに吐くログを整形して自分で作りこみをしないといけなかったりする。 それは単純化して欲しい。
777 名前:デフォルトの名無しさん [2008/10/01(水) 01:46:22 ] 何度も繰り返しになりますが、UMPでは麻雀自体のルールは定義する つもりはありません。つまり、「クイタンあり」みたいな情報をUMPでは 流さないで済むように考えています。 クイタンありかなしかはサーバの実装次第で、クライアントの実装では、 クイタンで和了ろうとして、サーバにコマンドを送って初めてわかります。 ↑ ↑ ↑ この文章を整形して、フロントページの前提に書いた方がいいんじゃね? このプロトコルのコンセプトがはっきりして、初めて来た人にも分りやすい sourceforge.jp/projects/openmj/wiki/FrontPage
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 ] チョンボ君はあれだけの情熱を見せたんだからきっと作ってるよ