2011-06-24 6 views
1

私は麻雀で勝利の手を特定しようと努力しています、誰かがヒントや動作式を持っていますか?勝利の麻雀手を特定

麻雀のゲームは、13枚のカード、4,3枚のフラッシュ、3枚のフラッシュで構成されています。勝利手には、盗まれたカードまたはカードが合計14枚あります。 4プラス1対の

  • 3組の3プラス1対の
  • 4セット:勝利手のセットです。
  • 3組2組4組2組なし。
  • フラッシュは3つのセットに含まれますが、すべてのスイートはボーナスです。
  • すべてのペアもオプションです。

これに関連する点もあります。

ご迷惑をおかけして申し訳ございません。 フォローアップして情報を追加すると、他の人に役立つかもしれません。

香港の麻雀ルールを目指しています。 私はアルゴリズムを使って作業していますが、私が調査しているのは通りの除去です。もし失敗した場合は、そのセットを取り外してください。

 
works when I have a b3333 b4 b5 b666 
check b345 - remove 
check b345 fail, b333 is a set, remove 
check b678, fail, b666 is a set. 
none left, Win

but when I have a b222 b33 b44 b5. I need to skip and restart. check b234 ok, remove check b234 ok, remove check b234 fail, single b2 (Failed hand) restart, skip 1. check b345 ok, remove end, return to start check b234 ok remove check b234 fail, b22 is pair. none left win.

but this method is troublesome, because there could be a double state to retry. b222 b33 b44 b555 b66 b77 check b234 ok, remove check b234 ok, remove check b234 fail, resart, skip 1. check b345 ok, remove check b345 ok, remove check b567 ok, remove check b678 fail, no 7, skip one rety

アイデア?

+1

これを実行するターゲット言語を指定する必要があります。式を作成しようとしましたか?それは動作しますか?いいえ?それをここに投稿してください...それはあなたのためのより多くの牽引力を得るでしょう... – sdolgy

+0

あなたは正しいルールを持っていますか?私が最後に4セットをチェックした時、余分な石に関する特別なルールがありました。しかし、このゲームにはいくつかのバリエーションがありますが、どれが必要ですか? – LiKao

+0

私の目標はPHPです。エンジンはかなり効率的です。私は適用するルールを明確に定義できるようになるまで、まだコードを開始していません。余分な石は、あなたが余分な石を手に入れたらそれを保存し、別の石を引っ張ると勝利に関係しない点を計算するために使われます。また、特別なハンドハンドリング私は彼らが3つのセットをチェックすれば、私は333を持っているが、次に123を緩めて、3つのChows、123 234 345、 234 345、私はちょうど良いロジックや既存のスクリプトがあるかどうかを知りたいだけです。ありがとう – Cyberience

答えて

0

私はAndroidで麻雀ゲームを成功させました。次のように私が使用するアルゴリズムは以下のとおりであった:

1)34 2の配列に各タイルの発生カウント)すべての可能なペア 3を取り外して)再帰的トリプレットの残りのタイルをチェック

役立つホープ

関連する問題