dポイントプレゼントキャンペーン実施中!

三目ゲーム(9マスの丸罰ゲーム)のプログラムを書いてコンピューターを相手に対戦したとき、コンピュータの勝率をできるだけあげるにはどうしたらいいんでしょうか??何か参考になることなんでも教えてください。ホームページなど教えてもらえれば光栄です。お願いします。

A 回答 (11件中11~11件)

○×ゲームは、両者最善を尽くすと必ず引き分けになります。


先読みをしても良いですが、パターンは限られているので、ある程度手順を記憶させておいても良いかもしれません。

この回答への補足

#include<stdio.h>
#include <stdlib.h>
#include <time.h>

//座標の構造体
typedef struct{
int gyou;
int retu;
}matrix_t;

//プロトタイプ宣言
matrix_t input(int a[][3]); //プレイヤーの入力
int chk(int a[][3]); //そろったかどうかを判定
void display(int a[][3]); //ボードを表示。
matrix_t sikou(int a[][3]); //コンピュータの思考

(中略)

//コンピュータの思考
matrix_t sikou(int a[][3])
{
matrix_t temp;
int i,j;

//ランダムな場所を指定
srand((unsigned int)time(NULL));
while(1){
temp.gyou=rand()%3;
temp.retu=rand()%3;
if(!a[temp.gyou][temp.retu])return temp;
}
}

コンピュータの思考がランダムに与えられている部分をうまく変えたいんですよ。これだけではわかりにくいと思いますが。。何かいい方法はないでしょうか?例えば2つ並んだら3つ目は必ず取りに行くようなプログラムは書けるでしょうか?

補足日時:2004/11/15 16:02
    • good
    • 0

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