スポンサーサイト
--/--/--
〜牌山生成アルゴリズム公開に向けて〜 vol.2
2012/04/08前回
http://mastermathematics.blog28.fc2.com/blog-entry-76.html
次回
未定
前回言われてた通り、[ボタンを押して離した時点で作動]→[ボタンを押した時点で作動]に仕様変更しました。
変わったのそれだけかよ!っていうwww
さて今回は、このFlashの仕組み・特に牌1つ1つの扱いについて説明していきます。
どんな麻雀ゲームでも制作の過程において重要になるのでよ〜く読んでくださいね。
皆さん既にお気づきかと思いますが、牌1つ1つの上にカーソルを持っていくと、中央上部の説明文が変化すると思います。
例:
pai1 x:??? y : ??? color:s suuji:8 serial:101
pai?の数字の部分は、自家の牌山の右端上から数えての数字です。
・・・ 9 7 5 3 1
・・・10 8 6 4 2
という風にpaiの数字を割り振っています。
xとyは座標です。デバッグの際にチラ見してるだけの数字なので、これは気にしないでください。
colorとsuujiは、大方の人はご察しでしょう。牌の色と数字です。
萬子はm、筒子はp、索子はs、字牌はjとしました。
(字牌に関しては東南西北白發中を1234567としています。つまり「4j」は北を意味しています。)
そしてserialなんですが、これが牌山を作るにおいて重要になってきます。
皆様のご家庭に麻雀牌があれば、一度パッケージを開けてみて、買ったばかりの時のことを思い出してください。
1mが縦に4つ、2mが縦に4つ・・・・・・・と並んでいたと思います。
麻雀ゲーム制作において、同じ1mでも4枚全て別々の牌として扱う必要があります。
麻雀闘牌中においては、5p8pの両面で門前聴牌したら、そのどちらかをツモってきたらアガリとなるわけですが、
場には5p8pの2種類が待ち牌として有りますが、各々1枚ずつではないですよね?
各々4枚ずつ、計8枚あります。
つまり、「見た目は2種類・実際には8枚存在する牌」のどれかをツモった場合にアガリとなるわけです。
さてFlashの方に戻りますが、この全ての牌にシリアルナンバーを割り振っていきます。
割り振り方は、
1mが1〜4
2mが5〜8
・
・
・
6j(発のこと)が129〜132
7j(中のこと)が133〜136
という感じですね。
なんでこんな細かい設計にしなきゃいけないかというと、赤ドラを実装するときにこのような設計方法が必須となるからです。
このFlashでも、5mのシリアルナンバーは17〜20で、牌山生成の時に17を選定したときは赤5mに、181920を選定したときは通常の5mにするようにしています。同様に5sと5pでも赤ドラを実装しています。
いぁ〜本当に説明ベタでスマソwwwwwww
この説明で皆理解してくれたらいいな!みたいなw
今後なんですけど、ゲーム進行とポンチーカンの実装を構想中。
おまけでシャンテン数を計算するプログラムを追加してみようと調べてみたら、メチャメチャ難しいプログラム組まないといけないwwwwwwwww
前回
http://mastermathematics.blog28.fc2.com/blog-entry-76.html
次回
未定
http://mastermathematics.blog28.fc2.com/blog-entry-76.html
次回
未定
前回言われてた通り、[ボタンを押して離した時点で作動]→[ボタンを押した時点で作動]に仕様変更しました。
変わったのそれだけかよ!っていうwww
さて今回は、このFlashの仕組み・特に牌1つ1つの扱いについて説明していきます。
どんな麻雀ゲームでも制作の過程において重要になるのでよ〜く読んでくださいね。
皆さん既にお気づきかと思いますが、牌1つ1つの上にカーソルを持っていくと、中央上部の説明文が変化すると思います。
例:
pai1 x:??? y : ??? color:s suuji:8 serial:101
pai?の数字の部分は、自家の牌山の右端上から数えての数字です。
・・・ 9 7 5 3 1
・・・10 8 6 4 2
という風にpaiの数字を割り振っています。
xとyは座標です。デバッグの際にチラ見してるだけの数字なので、これは気にしないでください。
colorとsuujiは、大方の人はご察しでしょう。牌の色と数字です。
萬子はm、筒子はp、索子はs、字牌はjとしました。
(字牌に関しては東南西北白發中を1234567としています。つまり「4j」は北を意味しています。)
そしてserialなんですが、これが牌山を作るにおいて重要になってきます。
皆様のご家庭に麻雀牌があれば、一度パッケージを開けてみて、買ったばかりの時のことを思い出してください。
1mが縦に4つ、2mが縦に4つ・・・・・・・と並んでいたと思います。
麻雀ゲーム制作において、同じ1mでも4枚全て別々の牌として扱う必要があります。
麻雀闘牌中においては、5p8pの両面で門前聴牌したら、そのどちらかをツモってきたらアガリとなるわけですが、
場には5p8pの2種類が待ち牌として有りますが、各々1枚ずつではないですよね?
各々4枚ずつ、計8枚あります。
つまり、「見た目は2種類・実際には8枚存在する牌」のどれかをツモった場合にアガリとなるわけです。
さてFlashの方に戻りますが、この全ての牌にシリアルナンバーを割り振っていきます。
割り振り方は、
1mが1〜4
2mが5〜8
・
・
・
6j(発のこと)が129〜132
7j(中のこと)が133〜136
という感じですね。
なんでこんな細かい設計にしなきゃいけないかというと、赤ドラを実装するときにこのような設計方法が必須となるからです。
このFlashでも、5mのシリアルナンバーは17〜20で、牌山生成の時に17を選定したときは赤5mに、181920を選定したときは通常の5mにするようにしています。同様に5sと5pでも赤ドラを実装しています。
いぁ〜本当に説明ベタでスマソwwwwwww
この説明で皆理解してくれたらいいな!みたいなw
今後なんですけど、ゲーム進行とポンチーカンの実装を構想中。
おまけでシャンテン数を計算するプログラムを追加してみようと調べてみたら、メチャメチャ難しいプログラム組まないといけないwwwwwwwww
前回
http://mastermathematics.blog28.fc2.com/blog-entry-76.html
次回
未定
〜牌山生成アルゴリズム公開に向けて〜 vol.1
2012/03/08次回
http://mastermathematics.blog28.fc2.com/blog-entry-78.html
先程、過去2つ分の日記の返信書きましたw
さてさて、MJ5ver.Bにて牌山生成アルゴリズムが公開されるに向けて、自分の周りでも有識者を増やす活動をしようと思ってます。
というのも、せっかくセガ側がアルゴリズムの説明をしても(最も、マトモな説明をしてくれる可能性自体が低いですがw)
聞く側が「ややこしい!わかりにくい!」ってことで理解が出来ないと意味が無いと思ったからです。
そこで、1雀士としてではなく1プログラマーとして牌山の基本的な作り方をレクチャーしていこうと思います。
その結果、「じゃあツモ」とか「相手の待ち牌を無理矢理にでも掴まさせるシステム」とか「相手の待ち牌を無理矢理にでも捨てさせるシステム」ってのがどれくらい発生しにくいというのを説明していけば、と思ってます。
最も、最後まで説明できるかわからないけどwww
で、こんなん作ってみた。
画面がはみ出している可能性が高いので、その場合は以下をクリックしてください。
http://blog-imgs-44.fc2.com/m/a/s/mastermathematics/mahjongyama.swf
牌山生成、サイコロの決定、配牌決定までをFlashで作ってみました。
これからvolを重ねるごとに少しずつ説明していくので、次の日記更新するまでに皆様でこのFlashでたくさん遊んでみてください。
子供心があれば山生成を連打してみたり、サイコロを何回も振ってみたり、となると思いますwww
そうすれば幾つか色々気づく点が各自で思いつくはずですので。
次回
http://mastermathematics.blog28.fc2.com/blog-entry-78.html
http://mastermathematics.blog28.fc2.com/blog-entry-78.html
先程、過去2つ分の日記の返信書きましたw
さてさて、MJ5ver.Bにて牌山生成アルゴリズムが公開されるに向けて、自分の周りでも有識者を増やす活動をしようと思ってます。
というのも、せっかくセガ側がアルゴリズムの説明をしても(最も、マトモな説明をしてくれる可能性自体が低いですがw)
聞く側が「ややこしい!わかりにくい!」ってことで理解が出来ないと意味が無いと思ったからです。
そこで、1雀士としてではなく1プログラマーとして牌山の基本的な作り方をレクチャーしていこうと思います。
その結果、「じゃあツモ」とか「相手の待ち牌を無理矢理にでも掴まさせるシステム」とか「相手の待ち牌を無理矢理にでも捨てさせるシステム」ってのがどれくらい発生しにくいというのを説明していけば、と思ってます。
最も、最後まで説明できるかわからないけどwww
で、こんなん作ってみた。
画面がはみ出している可能性が高いので、その場合は以下をクリックしてください。
http://blog-imgs-44.fc2.com/m/a/s/mastermathematics/mahjongyama.swf
牌山生成、サイコロの決定、配牌決定までをFlashで作ってみました。
これからvolを重ねるごとに少しずつ説明していくので、次の日記更新するまでに皆様でこのFlashでたくさん遊んでみてください。
子供心があれば山生成を連打してみたり、サイコロを何回も振ってみたり、となると思いますwww
そうすれば幾つか色々気づく点が各自で思いつくはずですので。
次回
http://mastermathematics.blog28.fc2.com/blog-entry-78.html
クソゲー
2012/03/08回収期をシングルモードで回避。


本日セガが回収し損ねた幻球
約4個
ざまぁみろってんだ!
〜参考試合東風戦通算〜
【SCORE】
合計SCORE:-338.0
【順位】
1位回数:7(17.50%)
2位回数:8(20.00%)
3位回数:13(32.50%)
4位回数:12(30.00%)
平均順位:2.75
プレイ局数:193局
最大連勝数:2勝
現在の連勝数:0勝
最大翻数:10翻
役満回数:0回
【打ち筋】
アガリ率:15.54%(30/193)
平均アガリ翻:3.33翻
平均アガリ巡目:12.47巡
振込み率:18.13%(35/193)
幻球の無駄な減らしは回避できてそうだ。
・・・・土曜日にもう少しシングルモードやった後でイベント予選規定こなしてきますw
規定あと5試合。
ちなみに団体で予選通過できそうだ。ありがとうございます。
今日は夜にもう1回日記更新するで〜。
MJプレイヤーみんなに読んで欲しい日記でっせ。


本日セガが回収し損ねた幻球
約4個
ざまぁみろってんだ!
〜参考試合東風戦通算〜
【SCORE】
合計SCORE:-338.0
【順位】
1位回数:7(17.50%)
2位回数:8(20.00%)
3位回数:13(32.50%)
4位回数:12(30.00%)
平均順位:2.75
プレイ局数:193局
最大連勝数:2勝
現在の連勝数:0勝
最大翻数:10翻
役満回数:0回
【打ち筋】
アガリ率:15.54%(30/193)
平均アガリ翻:3.33翻
平均アガリ巡目:12.47巡
振込み率:18.13%(35/193)
幻球の無駄な減らしは回避できてそうだ。
・・・・土曜日にもう少しシングルモードやった後でイベント予選規定こなしてきますw
規定あと5試合。
ちなみに団体で予選通過できそうだ。ありがとうございます。
今日は夜にもう1回日記更新するで〜。
MJプレイヤーみんなに読んで欲しい日記でっせ。
MJ5ver.Bにて牌山生成アルゴリズムを公開!?
2012/02/18というわけでこんにちは。超お久しぶりですw
MJ5 ver.B情報来ました。
すんごい注目の情報がッ!

SEGA側が、現行MJの牌山生成アルゴリズムを公開するそうです!
で、今から色々書こうかと思ったらMJ避難所に言いたい事ほとんど書かれてたwww
http://jbbs.livedoor.jp/bbs/read.cgi/sports/36690/1327903333/43-50
http://jbbs.livedoor.jp/bbs/read.cgi/sports/36690/1327478446/385-
>そのアルゴリズムが実際に使われているかどうかの証明は
>どうするんだよって話だろうがよw
>Ver.Bでアルゴリズム公開ならVer.Aと同じアルゴリズムかの証明が必要な気がする。
そうですね。今のSEGAにはコレが必要です。
もう何度も言ってきてますが、信頼回復のためには、
「牌山生成を純粋に証明する」と「そのプログラムを全モードに本当に搭載している」
の2点が必要です。
果たしてSEGA社員のプライドはこれを乗り越えることができるか?
説明だけで終わってしまわないか?期待。
>牌山生成は136牌をランダムに交換するだけなので守秘ってほどの高度の技術じゃない
>ただコンピューターでやる以上、乱数の質はプログラムによって変わってくる
>コンパイラのライブラリ標準の乱数でダメってことはそうは無いだろうけど
避難所にも有識者が居てくれた!
プログラマーの立場からして、これは重要なことです。
>ただ、そこまでして「不正はありません」をアピールしないと
>ヤバいくらいインカムが低下しているんだろうな
>そんな誰も信じないソース公開するより
>社員全員で土下座した写メを公式でアップして本当にヤラセ無くしたほうが客戻ると思うわ
>失った信頼を、よりにもよって明らかなウソで簡単に取り戻せると思えるセガの神経がすごい
>
>
>
>
>
>まあセガってそんな会社だよねwww
>今までヤラセプログラムで稼働してやっと新しいプログラムが出来たのに、
>あたかも今までもヤラセはないみたいな口調。
>この会社なめてんのか?
・・・・・・もう付け足す言葉は有りません。この通りです。
でだ。
果たしてSEGA側はどのような説明をしてくるのか?
HPに説明文載せるだけで終わるのか、それとも筐体を使って本格的な証明をするのか。
ヤラセが無いということを証明する方法は私の方でも少し考えているアイデアがあるが、
今ここに書いてしまうとSEGAが真似する可能性もあるのでそれは稼働後に書きますw
とりあえずは今春のSEGAの動向にうす〜く期待しておきます。
まぁ、これも今まで何度も紹介してきたけど、雀龍門のHPでは牌山生成アルゴリズムを説明されています。
雀龍門運営はまだこの段階までで良いと思うけど、
SEGAに関しては上記にも書いた通り実際に段位別東風戦等の全モードに実装しているということを証明する必要があります。
それぐらいの信頼回復が今のSEGAには必要です。
MJ5 ver.B情報来ました。
すんごい注目の情報がッ!

SEGA側が、現行MJの牌山生成アルゴリズムを公開するそうです!
で、今から色々書こうかと思ったらMJ避難所に言いたい事ほとんど書かれてたwww
http://jbbs.livedoor.jp/bbs/read.cgi/sports/36690/1327903333/43-50
http://jbbs.livedoor.jp/bbs/read.cgi/sports/36690/1327478446/385-
>そのアルゴリズムが実際に使われているかどうかの証明は
>どうするんだよって話だろうがよw
>Ver.Bでアルゴリズム公開ならVer.Aと同じアルゴリズムかの証明が必要な気がする。
そうですね。今のSEGAにはコレが必要です。
もう何度も言ってきてますが、信頼回復のためには、
「牌山生成を純粋に証明する」と「そのプログラムを全モードに本当に搭載している」
の2点が必要です。
果たしてSEGA社員のプライドはこれを乗り越えることができるか?
説明だけで終わってしまわないか?期待。
>牌山生成は136牌をランダムに交換するだけなので守秘ってほどの高度の技術じゃない
>ただコンピューターでやる以上、乱数の質はプログラムによって変わってくる
>コンパイラのライブラリ標準の乱数でダメってことはそうは無いだろうけど
避難所にも有識者が居てくれた!
プログラマーの立場からして、これは重要なことです。
>ただ、そこまでして「不正はありません」をアピールしないと
>ヤバいくらいインカムが低下しているんだろうな
>そんな誰も信じないソース公開するより
>社員全員で土下座した写メを公式でアップして本当にヤラセ無くしたほうが客戻ると思うわ
>失った信頼を、よりにもよって明らかなウソで簡単に取り戻せると思えるセガの神経がすごい
>
>
>
>
>
>まあセガってそんな会社だよねwww
>今までヤラセプログラムで稼働してやっと新しいプログラムが出来たのに、
>あたかも今までもヤラセはないみたいな口調。
>この会社なめてんのか?
・・・・・・もう付け足す言葉は有りません。この通りです。
でだ。
果たしてSEGA側はどのような説明をしてくるのか?
HPに説明文載せるだけで終わるのか、それとも筐体を使って本格的な証明をするのか。
ヤラセが無いということを証明する方法は私の方でも少し考えているアイデアがあるが、
今ここに書いてしまうとSEGAが真似する可能性もあるのでそれは稼働後に書きますw
とりあえずは今春のSEGAの動向にうす〜く期待しておきます。
まぁ、これも今まで何度も紹介してきたけど、雀龍門のHPでは牌山生成アルゴリズムを説明されています。
雀龍門運営はまだこの段階までで良いと思うけど、
SEGAに関しては上記にも書いた通り実際に段位別東風戦等の全モードに実装しているということを証明する必要があります。
それぐらいの信頼回復が今のSEGAには必要です。
雀龍門3 頂上編パッケージ
2011/12/30


先程届きました。
特典シリアルナンバーの有効期限が大晦日までとかwww
まぁ転売防止のためでしょうが、郵送会社が郵送でトラブったらどうするつもりだwww
あと、CDはインストールする人のためにあるもので、すでにPCに入っている人には必要ない。
つまりシリアルナンバーしか用が無いとwww
ちなみにシリアルナンバーはキャラクタカードの裏に書いてます。
いやーしかし、雀龍門2で取り逃した「豪傑な漢のボイス」をゲットできてマンゾクデス!
散々だった第3回近麻大会予選
2011/12/22今大会の戦績(† 数学不敗 †)
第3回近代麻雀CUP
【順位】
1位回数:4(16.00%)
2位回数:5(20.00%)
3位回数:6(24.00%)
4位回数:10(40.00%)
【打ち筋情報】
アガリ率:16.96%(19/112)
平均アガリ翻:3.37翻
平均アガリ巡目:12.21巡
振込み率:13.39%(15/112)
本当に散々でした。
段位様強すぎ。
補正やばかった。
しかも、入選入賞報酬が4時代と比べて減ったせいで、称号さんが激減。
周りの段位様達は補正入りまくり。
これは勝てんわ。勝てるわけ無いですよ。
大会予選終了翌日・12/19の戦績
【SCORE】
合計SCORE:+300.8
【順位】
1位回数:8(44.44%)
2位回数:4(22.22%)
3位回数:4(22.22%)
4位回数:2(11.11%)
平均順位:2.00
プレイ局数:88局
【打ち筋】
アガリ率:28.41%(25/88)
平均アガリ翻:3.04翻
平均アガリ巡目:11.20巡
振込み率:11.36%(10/88)
4時間で自分の予選負債分を皆の予選報酬分から回収させていただきやした。。。
ざまぁみろ!
しかしなぁ、決勝報酬のSP背景めっちゃ欲しいwwwww
あれはヤフオクでもお金出しちゃうレベルwwwww
第3回近代麻雀CUP
【順位】
1位回数:4(16.00%)
2位回数:5(20.00%)
3位回数:6(24.00%)
4位回数:10(40.00%)
【打ち筋情報】
アガリ率:16.96%(19/112)
平均アガリ翻:3.37翻
平均アガリ巡目:12.21巡
振込み率:13.39%(15/112)
本当に散々でした。
段位様強すぎ。
補正やばかった。
しかも、入選入賞報酬が4時代と比べて減ったせいで、称号さんが激減。
周りの段位様達は補正入りまくり。
これは勝てんわ。勝てるわけ無いですよ。
大会予選終了翌日・12/19の戦績
【SCORE】
合計SCORE:+300.8
【順位】
1位回数:8(44.44%)
2位回数:4(22.22%)
3位回数:4(22.22%)
4位回数:2(11.11%)
平均順位:2.00
プレイ局数:88局
【打ち筋】
アガリ率:28.41%(25/88)
平均アガリ翻:3.04翻
平均アガリ巡目:11.20巡
振込み率:11.36%(10/88)
4時間で自分の予選負債分を皆の予選報酬分から回収させていただきやした。。。
ざまぁみろ!
しかしなぁ、決勝報酬のSP背景めっちゃ欲しいwwwww
あれはヤフオクでもお金出しちゃうレベルwwwww



