- ベストアンサー
大富豪について
プログラミングで大富豪を作ろうと思っています。 プレイヤー一人に対して、CPUを3人つける予定です。 そこで皆さんに質問です。 大富豪で勝つために、CPUにさせる行動をどの様に定義したら いいでしょうか? 例えば私が今考えているのは、 自分の手札を検索し、もし何でもかんでも出せる場合、 最低何回であがれるかを計算するメソッドを組んで、 3回の場合、3回で勝つパターン 2回の場合、2回で勝つパターンをそれぞれif文で入力しよう という風に考えていますが、いかんせん、最低何回であがれるのか というのは持っている手札の組み合わせが膨大になり、アルゴリズムが 組めないでいます。 さてそこで質問します。 1 もしあなたが大富豪を数学的にプログラミングでCPUを動かすとき、 どの様な行動原理をいれますか? 2 自分の手札の回数を検索するメソッドのアルゴリズムはどの様なアルゴリズムで組みますか? (´д゜)とても難しいです。もしC言語、もしくはjavaで組めた 場合コードも教えて貰えるとありがたいです。それではよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
大変失礼な言い方かも知れませんが、プログラミングの一番の肝、 一番の醍醐味のところを、質問されているように思います。 何のために、プログラミングしようと思われたのでしょうか? 高い目標を置いて、プログラミングの勉強をされるのは素晴らしい ことですが、あまりにも難しくて手が出ないのであれば、もう少し 簡単なところから勉強されてはと思います。 どなたかがいいアイデアを提供して下さるかも知れませんが、それを 使ってプログラミングをしたとしても、あまり意味がないように 思います。ぜひ頑張って、ご自分で考えてみて下さい。
その他の回答 (1)
- yagoro
- ベストアンサー率36% (4/11)
初めての回答です。よろしくお願いします。 プログラミングは学校で習った程度の素人です。 なので1の行動原理だけ。 大富豪での行動原理についてですが、やはり大部分は将棋と同じになると思います。 つまり、序盤は定跡どおり(大富豪に定跡はないから適当に?)、 中盤は局面に点数を付けながら良くなるパターンの検索、 終盤は詰みの検索、といった流れです。 で、問題になるのは中盤のパターン検索で 相手のカードを決める方法ですよね。 これは場の流れから推測する方法がいいと思います。 例えば、場に3のペアが出ている状態で次に5のペアを出した場合、その人は4のペアを持っていない、 といった判断を毎回やります。 また、残り2枚であるが1枚の手札にはパスをした→その人はジョーカーを持っていない、 といったこともできます。 このように集めた情報を元に、相手のカードを推測します。 推測できなかったカードについてはシャッフルして配り、 そこから良さそうなパターンを検索します。 これを繰り返すのです。 点数の付け方、どの推測をどれくらい採用するかという問題は 重要でしょうけど、この辺りは作者の個性によると思います。 私は手札の検索の時点でめんどくさくなりました(´・д・`) 。 大変でしょうけど頑張ってください。
お礼
そういうやり方もありますねぇ(・д・) 頑張りますよぉ~。
お礼
そうですね。そこが一番面白いのに他人任せにしてしまったら、 つまらなくなってしまいますね。 どうもご忠告ありがとうございましたm(._.)m