[表示 : 全て 最新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 ]
めざせ最強の麻雀プログラム!
層の薄いこのカテゴリーなら、将棋やオセロよりも
ずっと簡単にその地位を手にいれられるぞ!

2 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 21:51:59 ]
>>1
乙なんだが、せめて前スレくらい貼って欲しかった…
あと、Part2よりも2本場とかのほうが麻雀らしかったかも。

まぁとにかく乙

3 名前:1 mailto:sage [2007/07/27(金) 21:52:05 ]
前スレ最後のほうでルールはまうじゃん準拠でって声があがったよ

前スレ おまいら最強の麻雀プログラムしてみろよ
pc11.2ch.net/test/read.cgi/tech/1169642436/l50

まうじゃん的空間
www.amy.hi-ho.ne.jp/ishihata/maujong/

4 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 21:52:45 ]
前スレ

おまいら最強の麻雀プログラムしてみろよ
pc11.2ch.net/test/read.cgi/tech/1169642436/

5 名前:1 mailto:sage [2007/07/27(金) 21:53:34 ]
すまんこれから貼ろうと思ってたんだ。

<参考サイト>
とつげき東北HP
www.interq.or.jp/snake/totugeki/
まったりプログラミング日誌
kmo2.cocolog-nifty.com/prog/
あらのHP
ara.moo.jp/
デジタル麻雀論
www.jan-x.jp/

6 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:38:46 ]
おれもまうじゃんdll作ってみようと思う。

C#で作りたいのだが型がどう対応するのかさっぱり分からん。
でもC#の生産性に慣れるとC++で組む気にはならんね。
調べてみるしかないか。もしやり方わかったら報告するよ。

7 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:41:31 ]
> GUI表示で一局にかかる時間が多すぎるんですよ
> 一手一秒だとしても画面で動かして終局まで1分程度かかります
> 1000局の統計を取ろうとしたら、17時間かかるんです
だから、それが画面有り無しでどう関係するの?と聞いているのですが。

各自作成DLLが 一手一秒なら、画面なくてもそれなりに時間、かかるよね?



8 名前:デフォルトの名無しさん [2007/07/27(金) 22:43:47 ]
>>6
まうじゃんDLL作っても試行する部分がなきゃ駄目なんだって・・・
まうじゃんルールで、もっと簡単にDLL作れるメイン部分を頼む・・・

9 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:45:36 ]
結局自分じゃ何もできない厨房だったわけだwwwwwwwwww

10 名前:デフォルトの名無しさん [2007/07/27(金) 22:46:30 ]
>>7
例えば一手100ms以内としても
まうじゃんだと画面で動く部分で時間がかかるんですよ
制限時間はある程度統計がとれる程度に制限した方がいいので1秒とは限らないです



11 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:50:18 ]
> 「ノーウェイト」のモードあるじゃん。
> 一局数秒で終わる。
って書いたの読んだ?
それを試して、それでも問題だと言っている?

12 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:50:53 ]
    /::::i::::、:::ヽ、:::::\:ヽ:\::::::ヽ:::、::ヽ::、:',
    /::i|::l::ト、ヽ::、:::ヽ:、::::::\::ヽ::::l::::ヽ::i:::i:::!
   /:/:!:::!:|::ヽ:\ヽ::::、:\::::ヽ:::ヽ!::::::i::|:::!::!
   !ハ::|::::i::l:|心、:ヽ::\:ヽ_\、\:::ヽ:::|!::|:|i 駄目だ こいつ・・・
    i、:!:|:、N{、ヒjヽゝ\ヾイ ヒj >、ヽi:、|!:|:l
     ヽ:!::トヽ ̄ l! `  ` ̄´ |::l::|:|j:,!:!  早くなんとかしないと・・・
      ト、::! u         j |::/lj:::!リ
        ヾ、  丶 -    u リイ:|リ
        リヽ ‐、ー- 、_   /イ:::i
       rー'"ト:l゙、   ̄   ./  , |::!
      / ヘ ヾ ヽ、 _,. '   / |:'

いままでこのAAがこれほどぴったり来るやつは見たことなかったぜ

13 名前:デフォルトの名無しさん [2007/07/27(金) 22:52:28 ]
>>11
どこにノーウェイトモードの設定があるんだよ?いずれにしても画面表示がある限り鈍いんだ


14 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:52:44 ]
とりあえず>>8=>>10はトリップでもつけてもらわんと、叩けんじゃないか!!wwwww

15 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:54:01 ]
>>8
「試行」と「思考」を勘違いしてないっすか?
思考する部分のDLLを作るんじゃないの?

16 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:54:43 ]
ageがトリップみたいなもんだなw

17 名前:デフォルトの名無しさん [2007/07/27(金) 22:55:59 ]
思考DLLを試行するメイン部分の作成が先だと思うんでけど・・・
まうじゃん本体で思考DLLを動かすと鈍いってことです

18 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:56:10 ]
なめた口調と雰囲気でも丸分かりだがな

19 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:58:49 ]
じゃ今後は>>8=>>10=>>11=>>17以外はsage&丁寧な言葉づかいを心がけていただけるよう、お願い申しあげます。ww

20 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 23:01:37 ]
>>17
ホストプログラムができたらまたどうぞ。
ルールは、非常識なものでなければ(もしくは多少の変更が効けば)、
何でもいいよ。

では、さようなら。



21 名前:11 mailto:sage [2007/07/27(金) 23:03:31 ]
げ、私は、乱暴な言葉、使わんといけんのけぇ?

>>13
「まうじゃん」GUI画面の「オプション」→「進行速度」→「ノーウェイト」って
違うのか?
これデフォルトは、「速い」なんだけど。
「オプション」で「自動了解」もチェックすれば、自動対局するし、
「ログ出力」すれば結果も見れるけど。


22 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 23:08:50 ]
>>19
11は別人だろ

23 名前:デフォルトの名無しさん [2007/07/27(金) 23:12:37 ]
オプションって上にあるんだな わからなかった

24 名前:11 mailto:sage [2007/07/27(金) 23:22:15 ]
で、判定結果は?
#別人でしょ?、ってことじゃなくてね。
#使えそうでしょう?

25 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 23:28:06 ]
うん
使えそうだね

26 名前:19 mailto:sage [2007/07/27(金) 23:54:43 ]
>>11>>13を間違えた…
ユルセ!!(・∀・)

27 名前:デフォルトの名無しさん [2007/07/28(土) 00:00:49 ]
どのルールがいいんだ?

まうじゃんルール
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4777.txt

ルール(仮)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4765.txt

28 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:01:32 ]
大会系しかやってなかったせいで、標準入出力のexeファイルしか作れない件。俺ヨワス
テンパイチェックと点数出力だけはもうすぐできそうだけど

29 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:02:30 ]
句点「。」がないのも特徴。

30 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:03:42 ]
>>27
ホストプログラムがある方。



31 名前:デフォルトの名無しさん [2007/07/28(土) 00:05:25 ]
>>28
どういうルールに基づくんでしょうか??


32 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:08:10 ]
あと、
・日本語の読解力が無い
・まうじゃんのノーウェイトモードすら見つけられない程の低スキル
も特徴に加えてくれ。

33 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:08:14 ]
>>31
あー、自分のAI用のだよ。紛らわしくってごめんね
>>28の書き込み見ればわかると思うけど、ホストプログラム作れるほどの能力ないや、dllとかわかんないし
一応、東風荘第一ルールに基づいて組んでる。クイタンありなしと裏ドラありなしはdefineの部分で変更可能
別に可変にすればいいだけだからとりあえず組んじゃってる

34 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:11:42 ]
>>32
・麻雀をまったく知らない
も追加

35 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:11:52 ]
>>33
C/C++の場合、他者と対戦しようと思ったらDLLがいちばん簡単、それ以外はもっと複雑になると思われ。

36 名前:デフォルトの名無しさん [2007/07/28(土) 00:12:36 ]
形になってきている>>33さんにならって東風荘第一に統一しますか?
これなら相互比較することで点数計算の間違え等を発見できますから・・・

37 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:13:18 ]
>>34
・牌ではなく駒と呼ぶ
も追加ね!

38 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:17:45 ]
>>36
お前が>>33を見習わなきゃいけないのは
>別に可変にすればいいだけだからとりあえず組んじゃってる
↑ここだ

39 名前:33 mailto:sage [2007/07/28(土) 00:18:11 BE:364795272-2BP(2)]
ぁぅ、C#で組んでる。C++とかのがいいのかな
そこらへんはよくわからないからちょっと聞くかも。できるだけ自分で調べるけど
とりあえずこういう企画は一人が組みだせばみんな始めてくれるような気がしたから、
自分プログラミング全然だけど組み始めてみた。続いてくれる人いるならうれしい

役判定が作業過ぎて入力が面倒だよぉorz

40 名前:33 mailto:sage [2007/07/28(土) 00:19:08 ]
あう、beはずし忘れたorz



41 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:19:36 ]
お前ら弱いものいじめはやめろよw

ところで、麻雀の確率とかからの検証とかの論文とかを
いっぱい紹介したサイトがあったと思うんだけど
どこだったっけ?
誰かブクマしてない?

42 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:19:45 ]
>>39
C#でも、DLLは作製可能

43 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:21:40 ]
ちょっと趣旨が違うんだけど、
麻雀牌にICチップ埋め込んだらいろいろできそうだね。

これをフリーで悪用されるデメリットはあるけど、
 ・自動点数計算  ..   おすすめ★★★★★
 ・自動牌譜記録  ..   おすすめ★★★
 ・牌効率分析画面  .  おすすめ★★★★
 ・待ち牌画面表示  .  おすすめ★★★★★
 ・向聴数画面表示  .  おすすめ★★★
 ・ツモ切りLED点灯    おすすめ★★★★
 ・ツモ予告演出 . . .  おすすめ★★★★★

wktkしてきた。

44 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:22:30 ]
>>33
beの紹介文にいろいろ突っ込みどころがあるのは置いとくとして…

>とりあえずこういう企画は一人が組みだせばみんな始めてくれるような気がしたから、
>自分プログラミング全然だけど組み始めてみた。続いてくれる人いるならうれしい

その意気だ!!宇宙麻雀みたいにグダグダ言ってるやつよか1億倍上!!ガンガレ!!

45 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:24:20 ]
>>43
画像認識で十分いけると思うんだよね
これならイカサマ無いし今の全自動卓にも
アドオン可能だし
伏せ牌がコンピュータにわかるってのは
やっぱりイヤだな

46 名前:33 mailto:sage [2007/07/28(土) 00:25:04 ]
>>42
ならこのまま組み続けていいのかな、ありがと

>>44
beは突っ込んじゃだめっ
とりあえずがんがる、できたらソースうpしたほうがいいのかな

47 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:25:45 ]
>>46
うpキボン

48 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:27:03 ]
sns.atfb.jp/show_profile.php?no=5
(・∀・)ヘー

49 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:27:04 ]
まうじゃんで、数千回試合の統計はどうやって取るんだ?

50 名前:43 mailto:sage [2007/07/28(土) 00:29:09 ]
>>45
なるほど。コストかからなそうだね。

43は需要なさそうだから世界に1台だと億いきそうだなぁ。



51 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:29:13 ]
それはもっと形になってきてからでいんじゃない?
誰かのdllにそういうのを出力する機能をつければおk

52 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:31:33 ]
また、他力本願なレスだな。 可能かどうかもわからないのに。

53 名前:デフォルトの名無しさん [2007/07/28(土) 00:34:56 ]
全スレですべてのメンツ分解を求めるソースうpしたぞ

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4771.txt

54 名前:デフォルトの名無しさん [2007/07/28(土) 00:36:16 ]
間違えた 
一種の数牌のみ0枚から14枚までのあがりの可能性のあるやつだ

55 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:36:45 ]
>>53
で?
ゴミはイラナイから

56 名前:11 mailto:sage [2007/07/28(土) 00:39:09 ]
ううう。
>>21で、
> 「ログ出力」すれば結果も見れるけど。
と書いたのに・・・

「ゲーム開始」でgrepするとこんな感じ。
mm.log(1): 07/27/07 22:08:46 ゲーム開始
mm.log(827): 07/27/07 22:09:06 ゲーム開始
mm.log(1524): 07/27/07 22:09:22 ゲーム開始
mm.log(2496): 07/27/07 22:10:19 ゲーム開始

終わりはこんな感じ。
<ゲーム終了>
1位 なきのりう 34400点
2位 面対子 31600点
3位 ぴこたん 23000点
4位 Dummy K.I. 19000点

集計が大変とか、ログが大きそうとか、そういう問題?


57 名前:11 mailto:sage [2007/07/28(土) 00:41:37 ]
あがりはこんな感じ。

・・・
・・・
Dummy K.I. : <捨て牌 : 発>
なきのりう : <捨て牌 : 白>
ぴこたん : <捨て牌 : 二索>
面対子 : <捨て牌 : 東>
Dummy K.I. : <ロン>
             
四五六七八九CDEVV東東
ドラ : 四索
裏ドラ : 九筒
<役>
リーチ 1飜

40符 3飜 1300点
<点数>
ぴこたん : 23000 + 0 = 23000点
面対子 : 32900 - 1300 = 31600点
Dummy K.I. : 15700 + 2300 = 18000点
なきのりう : 35400 + 0 = 35400点


58 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:49:12 ]
>>53
そのテーブルの価値は、砂粒1つぐらいの意味しかない。
俺はそのテーブルの必要性を感じていない。

59 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:56:40 ]
>>58
>砂粒1つぐらい

すげー過大評価しすぎwwwww

こんな糞テーブルの存在意義なんて
砂粒すら満たないよ

60 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:57:56 ]
>>56
せめて東風荘形式でログだせよ

それ以上にはやくソースだせよ



61 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:59:27 ]
なんだかまうじゃんのDLL作りになりそうだな。既存のもので他にある?俺は思いつかないな。
受けるデータは個々の点数と捨て牌、ドラ、自分の手牌、ツモでOK?
で出力は捨て牌とリーチ、鳴き(ロン)でOK?

62 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 01:02:00 ]
MJSimが有る、説得すればきっと出してくれる。 たぶんな

63 名前:11 mailto:sage [2007/07/28(土) 01:06:55 ]
>>60
言っている意味が分からないのだが?
もっと詳しく説明してくれるかい?

>>56>>57は、「まうじゃん」の設定で、「まうじゃん」がログを出力してくれる、という話だよ?
既に「まうじゃん」にそういう機能がありますよ、と私は言いたいのだが、
なにがご不満ですか?



64 名前:61 mailto:sage [2007/07/28(土) 01:07:48 ]
ネット麻雀に接続させて対局するとかどうなんだろうね?
場所によっては規約にかかりそうだけど

65 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 01:26:25 ]
なんか>>53への反応見てるとうpする気なくなるな、なんか厳しそう
それでもすると思うけど

66 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 01:31:34 ]
うpしたのが53じゃなかったらこんな冷たい反応じゃなかったよきっと

67 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 02:11:24 ]
>>64
コンピュータも参加できるネット麻雀インフラを整えて
公開すればいいじゃないか

68 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 02:23:05 ]
>>53みたいなウンコプログラムなら
反応は冷たいよ

69 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 03:48:15 ]
>>62
前スレでアップされたやつ落とせた?
すぐに落とせなくなっていた。どうしたのだろうか。

>>63
おれは>>60ではないのだが、東風荘形式であれば、すでにたくさん存在する東風荘のツールが使えるのがいいと思う。
牌譜の再生、成績統計、分析ツールの作成が必要ない。
MJSimのAIを作る人が出てきたのは、そのためじゃないかな。

>>33
>>6とは別人?
ホストも新規にC#(.NET)で作るの?

>>6と同じ人なら)C#でDLLを作れるけど、例えば、まうじゃんのDLLを直接は作れないと思うので、その場合は、
まうじゃん本体→ブリッジ的なDLL(これはC++で作る)→C#のDLL
みたいにする必要はあるな。

70 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 04:04:10 ]
C#でホスト作ったらどうかな?
.NetのDLLもネイティブDLLも読み込む形にしやすいと思う。



71 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 04:10:28 ]
冷静に考えたら、手牌パターンって あんまり数が多くないよね
せいぜい数万パターンにしかならないんじゃないか?
色違いや字牌を同一視したり上下逆にすれば

72 名前:デフォルトの名無しさん [2007/07/28(土) 04:18:15 ]
前スレで書いたよ


数字19、2〜8、白発中、東南西北のコーツトイツは同一視し
トイツ 8通り、 順子 21通り、コーツ8通りで全部登録しても5Mバイトしか食わない

国士無双、緑一色、四槓子の判定をまずやって、
三槓子、チートイツ、三色同刻、場自風の加算を求めてから
データベースを引けばいいんだ

73 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 04:25:48 ]
>>72
上がり形のみの組み合わせじゃなくて

74 名前:デフォルトの名無しさん [2007/07/28(土) 04:29:15 ]
>>73
一種の数牌だけで40万あるぞ


849 名前:287[sage] 投稿日:2007/07/25(水) 10:56:42
>>846
やってみたけど、微妙に結果が違うな。なんだろ。
面子の組み合わせは保持してないが、こういう結果になった。

a) 一種類の数牌で、ルール上出現する(各4枚以下、計14枚以下)組み合わせの数
405350

75 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 04:40:42 ]
>>74
たとえば数牌が2枚のときは 意味の上での組み合わせは
2つの牌の距離分、つまり8パターンしか種類は無いよね。
アルゴリズム上、1,8 も 2,9 もほぼ同一視できるという考え。

牌の組み合わせ数ではなく、牌同士の距離のパターンで
考えればパターン数はぐっと減る

76 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 04:53:02 ]
距離が0なら対子、1なら塔子、2ならカンチャン、3ならスジ、・・・
って感じでパターン分けすれば 思考ルーチンにもそのまま使える情報に
なる。多分なると思う。なるんじゃないかな。

77 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 04:59:37 ]
冷静に考えたら、これ ただの微分情報のDB化だな。
パターン認識の初歩だた。 何も目新しくなかった・・・orz

78 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 07:31:48 ]
>>前スレ349氏
今朝はじめてこのスレに来た者です。
当方、AI作成中でして、氏のソースをぜひ参考にさせていただきたいのですが
再アップお願いできないでしょうか?

79 名前:6 mailto:sage [2007/07/28(土) 09:00:58 ]
>>69
別人です。

今アルゴリズム考えているのでまだ全然ソース書いてないけど。

自分以外にC#使ってる人がいるのは心強いです。

80 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 09:58:16 ]
AI書く上でC#がC++より生産性高いってどのあたりの話?
GUIとかならC#のうまみは理解できるんだけど。



81 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 10:23:03 ]
deleteの存在だけで十分だろ。

82 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 10:49:54 ]
>>78
349のうpしたやつ持ってるけど
オリジナルの部分は、↓これだけかと


//ひたすらツモ切り
case MJMSG_TSUMO:
//ツモ切りする
Player->Action.Type = MJACTION_SUTEHAI;
Player->Action.Sutehai = 0;
break;

83 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:43:55 ]
他者が指したとき、ツモったときにそれぞれロンとポンとチーとカン、カンのフラグと
牌番号0-33を渡せば麻雀プログラムって出来るよね?

84 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:05:01 ]
自ツモ 0-33 、 ロン(カン)出来る牌 34-67 、 チー出来る牌 68-101

と番号づければツモとそうでない状態が統一的に扱えるぞ

85 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:40:55 ]
マンズ:1〜9
ピンズ:11〜19
ソーズ:21〜29
のように10とか20欠番にして数字と1の位そろえた方がプログラム組む上で直感的でわかりやすくないか?

それも16進数でやれば違った種類の牌はつながらないから、
メンツの分解を統一的なアルゴリズムでやれてプログラムが簡単になると思うのだが。
マンズ:0x11〜0x19
ピンズ:0x21〜0x29
ソーズ:0x31〜0x39
東南西北:0x41,0x51,0x61,0x71
白発中:0x81,0x91,0xA1
みたいなかんじで。
(字牌がとびとびなのはメンツ分解のときに順子を作らないって判定をプログラムに組み込まないようにしたいから)

86 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:01:25 ]
>>85
そんな事は各人がやればいいことで、管理元からの情報を変換してやればいいだけだな
内部の情報まで統一する必要は無い

87 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:23:28 ]
>>86

>>84にレスしただけだ。偉そうに分かり切ったことを。

88 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:42:48 ]
前スレ349氏は消えたのかな。消える宣言してたからな。
MJSimは落とせたんだが、作者は今どうしてるのだろうか。349氏によれば信頼のおける人とのことだけど。
まとめサイトみたいなの作って、そこにこういう実行ファイルなりソースなりを置くようにしたいんだけど作者の許可を得る方法がないからなあ。

89 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:44:27 ]
でもとりあえず同じような処理はライブラリ化してみんなで使えるようにしたほうがいいよね

90 名前:86 mailto:sage [2007/07/28(土) 16:23:10 ]
>>87
すまんね。だれが宇宙麻雀論の人なのか分からんので



91 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:24:02 ]
宇宙麻雀論の人ってリバーシ1の事?

92 名前:86 mailto:sage [2007/07/28(土) 16:34:15 ]
>>91
リバーシ1の事は知らないけど。「=」なの?

93 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:50:56 ]
>>92
リバーシ1はコードにforeを使う奴

94 名前:86 mailto:sage [2007/07/28(土) 16:55:28 ]
>>93
あぃ、了解。
話戻すけど、MJSimはCOMが鳴きたい牌があるときは捨て牌を知らせる時に同時に知らせてるの?
捨て牌毎にメッセージ受け取って帰す形?←こっちが一般的?

95 名前:デフォルトの名無しさん [2007/07/28(土) 21:03:06 ]
自分がツモった牌 0
右が捨てた牌 1
対面が捨てた牌 2
左が捨てた牌 3
と駒番号を渡して、思考プログラムの応答を待てばいいと思うぞ
ツモも捨て牌も番号の違いしか無くなる

ポンやチーやドラや牌列の得点は尋ねると教えてくれるようにする

96 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 23:19:10 ]
      ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
     彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
     イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
     t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ    i,;;;;;;!
     ゙i,;;;;t    ヾ-‐''"~´_,,.ィ"゙  ヾ;;f^!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ト.;;;;;》  =ニー-彡ニ''"~´,,...,,.  レ')l. < おまえは何を言っているんだ
     t゙ヾ;l   __,, .. ,,_   ,.テ:ro=r''"゙ !.f'l.   \____________
      ヽ.ヽ ー=rtσフ= ;  ('"^'=''′  リノ  
    ,,.. -‐ゝ.>、 `゙゙゙゙´ ,'  ヽ   . : :! /
 ~´ : : : : : `ヽ:.    ,rf :. . :.: j 、 . : : ト、.、
 : : : : : : : : : : ヽ、  /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、 
  :f: r: : : : : : : : !丶  r-、=一=''チ^  ,/   !:: : :`丶、_
  : /: : : : : : : : :! ヽ、  ゙ ''' ''¨´  /   ,i: : : l!: : : : :`ヽ、
 〃: :j: : : : : : : ゙i   `ヽ、..,,__,, :ィ"::   ,ノ:: : : : : : : : : : : :\
 ノ: : : : : : : : : : :丶   : : ::::::::: : : :   /: : : : : : : : : : : : : : : :\

97 名前:349 mailto:sage [2007/07/29(日) 00:09:58 ]
よし、今から、サンプルAIのソースつきMJSim公開してしまうぞ。
初歩的なAIだけど、それなりに強いと思う。

みんなGETしてくれ!

何故かって?、ここ数日で新しい方法論のAIアイデアが出てきて
作りたくなったから、尚且つ、対戦相手がいるといいから。
問題は時間だが・・・、今度は最速+戦略を目指そう。
MJSim自体のメンテは出来ないので、あるがままで使うしかない。
それで文句があるやつは無視。
点数計算のミスは極僅かだろう、その僅かが気になるAIなど当面
誰も作れないと思われ。私も無理だ。

MJSimの作者さん。もし見ていたら許してくださいませ。

98 名前:349 mailto:sage [2007/07/29(日) 00:17:57 ]
MJSimのDLLインターフェースは簡単である。
詳細はAIInterfaceV1.txtを参照。
インターフェースは簡単だが、渡されるデータ構造はそれなりに複雑である。
単純にいって、
1.コール簡単、データー複雑
2.コールが複雑、個々に渡されるデーターは簡単
の2種類だが、結局複雑さはどちらも同じ麻雀の処理は複雑なもの。

作製はMJSimAI.cpp内のCASE:部分を書くだけ。

case MJMSG_TSUMO:
 がツモった時の処理。
case MJMSG_REACTION:
 が他家が棄てた時の処理

自分が南家の時。
 親が棄てたら case MJMSG_REACTION: が呼ばれ。
 ツモが来たら case MJMSG_TSUMO: が呼ばれ
 自分のス棄て case MJMSG_REACTION: が呼ばれる。
 西が棄てたら case MJMSG_REACTION: が呼ばれ。
 北が棄てたら case MJMSG_REACTION: が呼ばれ。

この繰り返しです。

case MJMSG_GAMESTART:break; //東風戦開始時
case MJMSG_GAMEEND:break;
case MJMSG_KYOKUSTART:break; //局開始時
case MJMSG_KYOKUEND:break;

は試合の開始や終りです。

99 名前:349 mailto:sage [2007/07/29(日) 00:23:41 ]
いろいろ入ったMJSim  サンプルAI付き

uproda11.2ch-library.com/src/1118241.zip.shtml

MJSimを実行すれば、東風荘の麻譜データーが出力される。

100 名前:349 mailto:sage [2007/07/29(日) 00:24:17 ]
PW = MJSimEXE 入れ忘れ。








[ 続きを読む ] / [ 携帯版 ]

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

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