■ このスレッドは過去ログ倉庫に格納されています
※麻雀ロジック研究会※
- 104 :96:2006/11/19(日) 22:34:00 ID:t1T5Qf2N.net
- みなさんレスありがとうございます。
平日は忙しい上に、PCがつかえない環境にいるため、
返事ができなくてすみません。
ところで、他にも東風で代打プログラムを
動かしてみたいという方はいらっしゃいませんか?
もし、代打プログラムを作ってみたいが、とつげき東北さんが配布されている
MJexeIO.dllを使ってもスキルが足らずに作成できない・めんどくさいという方が
おられましたら、僕が作成したプログラムでよければ公開させていただきます。
今のところ搭載している機能・特徴は以下のとおりです。
1.とつげき東北さんが配布されているMJexeIO.dllに皮をかぶせて使いやすくしています。
具体的には、
○画面から情報を取得する関数を自作の関数の中で適切によびだしているため、
プログラマ自身が画面から情報を取得する関数を呼び出すタイミングに頭を悩ませる必要はありません。
画面から取得された情報は、自作の構造体(手牌構造体やプレイヤー構造体など)に格納されます。
○自分の順番が回って来た時にどの牌を切るかを返す関数、チーやポンをするかどうか尋ねられた時に
鳴くかどうかを決定する関数のみを実装すれば、自分の思い通りに動く代打プログラムが作れます。
2.一度起動すれば、プログラムを終了するか、東風が回線落ちするまで、延々と打ち続ける機能を搭載しています。
3.自分の手牌のシャンテンを計算する機能、場に見えている牌の枚数を数える機能、有効牌を計算する機能
(ここでいう有効牌とは、自分の手牌のシャンテン数を下げる牌を意味します)、4人の捨て牌を時間順に並べる機能
(この機能により、MJexeIO.dllのSimulateOrder関数に付きまとっていた、切られた牌の順序決定不可能性の問題
を回避できます)など、代打プログラムを作成する上で、必要と思われる機能を搭載しています。
(時間があれば、自分の手牌の役を認識する機能を搭載する予定です。)
4.僕自身はプログラミングを趣味としているただの学生ですので、スキル的な問題により、ソースコードは汚いですし、
上記機能の処理速度も速くはありません。デバッグは十分に繰り返したつもりですが、バグがないことを保障できません。
総レス数 178
56 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200