おまいら最強の麻雀プログラムしてみろよ!!
■ このスレッドは過去ログ倉庫に格納されています
0377デフォルトの名無しさん
NGNGロンできるかどうか、鳴くことが出来るかどうかは、「場」側(ネットワークならサーバ側)
でチェックするのが良いと思う。また「場」は、各プレイヤーが持っている牌を全て把握
していて、そのプレイヤーが持っていない牌を切ってきたときにはエラーメッセージなど
で応答するのが良いと思う。
誰かが牌を切ったら場は
1、その牌をそのプレイヤーが切ることが出来るのかどうかをチェック
ありえない牌を切った:
ならその旨プレイヤーに通知、再度どれを切るか受け付け
切ることが可能な牌:
打牌した(牌を切った)本人にそれを正常に受け付けた旨通知
2、その牌が切られたことを全プレイヤーに通知
3、打牌した者の次のプレイヤーに鳴くかロンかを聞く→記録
4、その次のプレイヤーに鳴くかロンかを聞く→記録
5、その次のプレイヤーに鳴くかロンかを聞く→記録
6、記録してある「鳴くかロンか」を優先順位に基づき判断
・・・
鳴くかロンかを聞いた直後には、当然それが可能かどうかのチェックも入る。
可能でないならばエラーを返して再度受け付け。
牌を切ったことを通知することと、鳴くかロンかを聞くのは分けたほうが、いいと思う。
そうしないと、誰かが鳴くかどうか決めかねて時間経過している場合に、
他のものが、すでに打牌した者に対し、「早く切れよ」ってことになる。
■ このスレッドは過去ログ倉庫に格納されています