C++初心者です。
C++で○×ゲームを作っているのですが、コンピュータと対戦出来るようにしたいのですがどうすればよろしいでしょうか。
ソースプログラム
http://codepad.org/wfwkEbVP
実行結果としてはこんな感じにしたいです。
1Pと2Pとの交互に対戦しますか?
1Pとコンピュータとの対戦にしますか?
プレイヤ同士の対戦なら1を、コンピュータとの対戦なら2を入力してください:
こんな感じで選らばせて対戦できるようにしてほしいです。
※プレイヤ1は○、プレイヤ2とコンピュータは×を表示させるようにしたいです。
コンピュータのAIは単純にしたいです。
どなたか教えてください。お願いします。
C++で○×ゲーム
Re:C++で○×ゲーム
1.ループの最初の時に対戦モード選択させる。
2.1でプレイヤーを相手に選んだのなら、いまのまま。
コンピューターを選んだのなら、get_pos に代わる関数(自動的にどこにするかを決める関数)を作ってそれを呼ぶ。
3.get_posに代わる関数内に簡易なAI(?)を作る。(例:優先順位1ふたつならんでいるなら3つ目を作る。2ひとつすでにおいてあってそれに続く開いているマス、あるいは一個とばしのマスに二つ目を置く。3どこもリーチにできないなら角をせめてみる。4角もあいていないならランダム。)
以上の3ステップでできるのではないかと思います。
まだどうすればいいのかわからない場合は質問を具体的にしてください。
2.1でプレイヤーを相手に選んだのなら、いまのまま。
コンピューターを選んだのなら、get_pos に代わる関数(自動的にどこにするかを決める関数)を作ってそれを呼ぶ。
3.get_posに代わる関数内に簡易なAI(?)を作る。(例:優先順位1ふたつならんでいるなら3つ目を作る。2ひとつすでにおいてあってそれに続く開いているマス、あるいは一個とばしのマスに二つ目を置く。3どこもリーチにできないなら角をせめてみる。4角もあいていないならランダム。)
以上の3ステップでできるのではないかと思います。
まだどうすればいいのかわからない場合は質問を具体的にしてください。

Re:C++で○×ゲーム
>>(例:優先順位1ふたつならんでいるなら3つ目を作る。2ひとつすでにおいてあってそれに続く開いているマス、あるいは一個とばしのマスに二つ目を置く。3どこもリーチにできないなら角をせめてみる。4角もあいていないならランダム。)
プログラムにする際どうやって書けばいいのか分からなくなって殆ど乱数でしていするようになってしまいました。。。。。
http://codepad.org/2VItJ1Bt
それと先手後手をジャンケンで決めるようにしたいのですが、どういう感じにプログラム書けばいいのか教えてほしいです。
プログラムにする際どうやって書けばいいのか分からなくなって殆ど乱数でしていするようになってしまいました。。。。。
http://codepad.org/2VItJ1Bt
それと先手後手をジャンケンで決めるようにしたいのですが、どういう感じにプログラム書けばいいのか教えてほしいです。