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

このエントリーをはてなブックマークに追加
946デフォルトの名無しさん:2008/11/27(木) 07:59:18
フォローをするけど>>942を書いたものだが自作自演じゃないよ
でも傍から見てるとあと1年は掛りそうなペースだな
947デフォルトの名無しさん:2008/11/27(木) 09:51:09
人の意見を取り入れないからだれも手伝わなくなっちゃうんだよ
948デフォルトの名無しさん:2008/12/01(月) 15:24:49
配牌の方法がわからん俺にヒントくれ
949デフォルトの名無しさん: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デフォルトの名無しさん:2008/12/01(月) 23:32:19
AIだけ作ってる奴なんていない。みんな自前で雀卓周りのコード書いてる
でなきゃAI強化したとき本当に強くなったか検証できないだろ
952デフォルトの名無しさん:2008/12/01(月) 23:45:01
なら配牌の方法くらい自分で好き勝手に
定義すりゃいいじゃん
わざわざ聞くことでもないだろ
953デフォルトの名無しさん:2008/12/02(火) 00:04:12
アホか。俺は答えた方だ
954デフォルトの名無しさん:2008/12/02(火) 00:06:47
奈々氏ばっかなんだから
どっちがどっちなんか分るわけねーだろ
955デフォルトの名無しさん:2008/12/02(火) 00:19:05
並の読解力があれば想像付くんだけどね。
956デフォルトの名無しさん:2008/12/02(火) 09:55:54
136通りの牌をシャッフルして順番に並べて
席順とサイコロ振れば、配牌は自動的に決まるだろう。
957デフォルトの名無しさん:2008/12/02(火) 14:47:49
白とか赤牌を入れたいときはどうすればいいの?
958デフォルトの名無しさん:2008/12/02(火) 23:26:31
入れたって全体の数が増えるんじゃないんだから、id差し替えればいいだけでは
959デフォルトの名無しさん:2008/12/06(土) 21:58:05
結局配牌はできたのか?
960デフォルトの名無しさん:2008/12/06(土) 22:06:26
その前に自分自身に少なくともプロ並みの雀力がないと駄目だと思から、
俺は雀力向上と数学の知識を身につけてる。
961デフォルトの名無しさん:2008/12/06(土) 22:08:39
配列のシャッフルが実装できないやつなんていないだろ
962デフォルトの名無しさん:2008/12/06(土) 22:13:42
空鍋をかき回すように中身のない配列を…
963デフォルトの名無しさん:2008/12/06(土) 22:20:22
>>960
それはプログラム投げ出したいいわけか?
964デフォルトの名無しさん:2008/12/07(日) 07:12:36

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

2ちゃん本スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1226294070/l100
965デフォルトの名無しさん:2008/12/08(月) 23:51:46
>>960のAIは完成しないに1000ジンバブエドル
966デフォルトの名無しさん:2008/12/09(火) 10:56:41
年明けには第4ジンバブエドルの発行来るかな?
今度は何桁切り捨てるんだろうね。
967デフォルトの名無しさん:2008/12/09(火) 14:14:50
「国(政権)の崩壊が先に来る」に100第4ジンバブエドル。
968デフォルトの名無しさん:2008/12/10(水) 03:07:32
ひとつ質問。基本的な麻雀の質問ですまないが。

暗槓3つと1枚の計13枚は七対子で言うと何向聴?
例えば、AAAABBBBCCCCDだとすると自作で判定させると5向聴なんだが、
実際5枚入れ替えても七対子として聴牌しない。
969デフォルトの名無しさん:2008/12/10(水) 04:08:26
普通に考えたら六向聴だね。
多分だけど、たとえば AAEEBBFFCCCDD みたいになったときに、
CCC を対子ひとつと単騎の待ち牌とに誤認してるんじゃないかと思った。
970デフォルトの名無しさん:2008/12/10(水) 06:00:05
>>968
槓しておいて七対子は無理でしょ
手牌が AAAABBBBCCCCD なら既にテンパイでは?
971デフォルトの名無しさん:2008/12/10(水) 07:31:31
>>970のようなやつがジャンラインを作ってしまうと言うことがよくわかった

972デフォルトの名無しさん:2008/12/10(水) 07:46:21
973デフォルトの名無しさん:2008/12/10(水) 07:56:08
>>972
計算間違ってるよw
974デフォルトの名無しさん:2008/12/10(水) 09:16:18
>>969
うわ本当だ。そっちのパターンでも間違えた。
AAEECCCZXYWVUみたいな他がバラバラの時は正しかったから見逃してた。

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

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

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

実際ここから七対子狙いになんか行かないから実用上問題無いんだが、
例えば特殊なルールで七対子縛りとかあった場合にリアル麻雀では
何向聴扱いなのかなと疑問に思ったもので。
975デフォルトの名無しさん:2008/12/10(水) 10:46:59
AAAABBBBCCCCDなら、カンを3回すれば2向聴じゃないの?
まあすぐ流されそうだが。
976デフォルトの名無しさん:2008/12/10(水) 21:25:46
>>974
>でもそのページの一番下も14枚で考えてるだけで6向聴の間違いじゃないのかな?
AAAABBBBCCCCDDから何を捨てるかという話ですね

AAAABBBBCCCCDなら6向聴
AAAABBBBCCCDDなら5向聴
977デフォルトの名無しさん: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デフォルトの名無しさん:2008/12/19(金) 18:20:51
チョンボ君はあれだけの情熱を見せたんだからきっと作ってるよ
980デフォルトの名無しさん:2008/12/27(土) 17:33:11
実は前に向聴数を高速に数えるルーチン考えたことあるんだよね

最初から面子単位で考えていくんだよ
一筒なら、一筒二筒三筒しか考慮しない
面子に1つ足りないのも一応保持しておいて
一筒三筒だったら、あと1つで面子、と数える

こうすると、全種類の牌をいちいちツモって来なくてもいい
981デフォルトの名無しさん:2008/12/27(土) 19:22:05
それだけ聞くと凄く穴がありそうだな
982デフォルトの名無しさん:2008/12/28(日) 00:15:35
あと1つで面子ってところはちょっと気をつけないと行けないんだけど
一筒二筒だけとか二筒三筒だけの時にヘタすると重複したりするんで
他にも何かあった気がするが思い出せない
983デフォルトの名無しさん:2008/12/28(日) 07:32:07
>>980
一三三三四五五五七
とあったら、どうするの?

普通にテーブルで処理するのが一番高速だと思うね
実行回数が少ないなら、再帰で抜き取っても十分高速だろうし
984デフォルトの名無しさん:2008/12/28(日) 14:34:02
最短いくつであがれるか調べるのは意味ないと思う。
街牌が一枚もなければ、絶対にあがれない。
すでに表示されている牌を除いた牌全体から、ランダムで試行して最短上がりの平均取った方がマシ。
985デフォルトの名無しさん:2008/12/28(日) 15:21:48
ランダム試行じゃなくても、全部調べりゃいい気もするが
しかしひっかけとかしないと、単純にこれだけだとなかなかあがれないかもな。
986デフォルトの名無しさん:2008/12/28(日) 15:49:46
起こる確率も大事だ。
めったに起こらないなら無視しても良い。
987デフォルトの名無しさん:2008/12/28(日) 15:55:55
起こる確率とその得点をかけた物の平均値が大事だろう
988デフォルトの名無しさん:2008/12/28(日) 16:00:40
話がややこしくなってるな。。。
そもそも、前提で

 ・ 全ての組み合わせて求めて、一番小さい向聴数を確実求める

 ・ マージャンゲームに実装するために、出来るだけ効率的に向聴数を求める。
  
↑の二つだけでも、アルゴリズムは全然変わってくる
989デフォルトの名無しさん:2008/12/28(日) 16:16:26
向聴数を求めることが意味がない。あと一枚でも牌がでなければ確率0。
見えていない牌から期待値を求める方が価値ある
990デフォルトの名無しさん:2008/12/28(日) 19:20:09
だからランダムにしなくても
晒されてない牌の数を数えれば
きっちり確率は出るだろう
991デフォルトの名無しさん:2008/12/28(日) 19:31:10
>>990
きっちり確率を出すだけなら、晒されていない牌を数えるまでもなく出る
さもなくば、晒されていない牌を数えてもきっちりとは確率は出ない

こんなものは、麻雀打ちとしても、麻雀プログラマとしても当たり前だろ
992デフォルトの名無しさん:2008/12/28(日) 20:23:42
おまえら、麻雀プログラム作る気
本当にあるのか?

すげえ初歩的な話に終始しているようだが?
993デフォルトの名無しさん:2008/12/28(日) 20:27:15
ウザ
994デフォルトの名無しさん:2008/12/28(日) 23:22:09
>>983
シュンツを作ろうとする前に
その構成要素がコウツを形成するかどうかを見る

で枝分かれ分岐していく

最終的にはツリーを作る

1向聴、2向聴ぐらいなら総当りでも間に合うけど
もっとできてないと対策は欲しい


どの程度できてるかによって作戦は変わってくるはず
995デフォルトの名無しさん