アプリ版:「スタンプのみでお礼する」機能のリリースについて

プログラミングで大富豪を作ろうと思っています。
プレイヤー一人に対して、CPUを3人つける予定です。

そこで皆さんに質問です。
大富豪で勝つために、CPUにさせる行動をどの様に定義したら
いいでしょうか?

例えば私が今考えているのは、
自分の手札を検索し、もし何でもかんでも出せる場合、
最低何回であがれるかを計算するメソッドを組んで、

3回の場合、3回で勝つパターン
2回の場合、2回で勝つパターンをそれぞれif文で入力しよう
という風に考えていますが、いかんせん、最低何回であがれるのか
というのは持っている手札の組み合わせが膨大になり、アルゴリズムが
組めないでいます。

さてそこで質問します。

もしあなたが大富豪を数学的にプログラミングでCPUを動かすとき、
どの様な行動原理をいれますか?


自分の手札の回数を検索するメソッドのアルゴリズムはどの様なアルゴリズムで組みますか?

(´д゜)とても難しいです。もしC言語、もしくはjavaで組めた
場合コードも教えて貰えるとありがたいです。それではよろしくお願いします。

A 回答 (2件)

大変失礼な言い方かも知れませんが、プログラミングの一番の肝、


一番の醍醐味のところを、質問されているように思います。
何のために、プログラミングしようと思われたのでしょうか?

高い目標を置いて、プログラミングの勉強をされるのは素晴らしい
ことですが、あまりにも難しくて手が出ないのであれば、もう少し
簡単なところから勉強されてはと思います。

どなたかがいいアイデアを提供して下さるかも知れませんが、それを
使ってプログラミングをしたとしても、あまり意味がないように
思います。ぜひ頑張って、ご自分で考えてみて下さい。
    • good
    • 0
この回答へのお礼

そうですね。そこが一番面白いのに他人任せにしてしまったら、
つまらなくなってしまいますね。
どうもご忠告ありがとうございましたm(._.)m

お礼日時:2008/01/23 17:22

初めての回答です。

よろしくお願いします。

プログラミングは学校で習った程度の素人です。
なので1の行動原理だけ。

大富豪での行動原理についてですが、やはり大部分は将棋と同じになると思います。
つまり、序盤は定跡どおり(大富豪に定跡はないから適当に?)、
中盤は局面に点数を付けながら良くなるパターンの検索、
終盤は詰みの検索、といった流れです。

で、問題になるのは中盤のパターン検索で
相手のカードを決める方法ですよね。

これは場の流れから推測する方法がいいと思います。
例えば、場に3のペアが出ている状態で次に5のペアを出した場合、その人は4のペアを持っていない、
といった判断を毎回やります。
また、残り2枚であるが1枚の手札にはパスをした→その人はジョーカーを持っていない、
といったこともできます。
このように集めた情報を元に、相手のカードを推測します。
推測できなかったカードについてはシャッフルして配り、
そこから良さそうなパターンを検索します。
これを繰り返すのです。

点数の付け方、どの推測をどれくらい採用するかという問題は
重要でしょうけど、この辺りは作者の個性によると思います。

私は手札の検索の時点でめんどくさくなりました(´・д・`) 。

大変でしょうけど頑張ってください。
    • good
    • 0
この回答へのお礼

そういうやり方もありますねぇ(・д・)
頑張りますよぉ~。

お礼日時:2008/01/23 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!