• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[C言語]三目並べ)

[C言語]三目並べの思考ルーチンについて

このQ&Aのポイント
  • 三目並べのプログラムで、後手で先手に初めに真ん中に置かれたら角に置く、後手で先手に初めに角に置かれたら真ん中に置くというコンピュータの思考ルーチンがうまくいかない
  • プログラムの中で勝てる場所や相手の勝ちを阻止する場所を探して先手の手を決めるが、それぞれの条件がうまく動作しない
  • また、後手で先手に初めに真ん中に置かれたら真ん中に置く、後手で先手に初めに真ん中に置かれたら角に置くという条件もうまくいっていない

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

totalの初期値が設定されていないからでは?

Falry_taie
質問者

お礼

うっかり見逃していました。ありがとうございます!

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

変数totalの用途を教えてください。

Falry_taie
質問者

お礼

/* 後手で先手に初めに真ん中に置かれたら角に置く */ の部分もおかしかったことに気づきました。ありがとうございます。 /* 後手で先手に初めに角に置かれたら真ん中に置く */ if ( te == 2 ) { for ( a = 0; a < 9; a++ ) { total += brd[a/3][a%3]; } kado = (brd[0][0] + brd[0][2] + brd[2][0] + brd[2][2]); if ( total == 1 && kado ==1){ brd[1][1] = te; return; } /* 後手で先手に初めに真ん中に置かれたら角に置く */ else if ( total == 1 && brd[1][1] == aite){ brd[0][0] = te; return; } } でしたね。角に置く場所はできればランダムにしたいのですが……。

Falry_taie
質問者

補足

totalは手数を判断するためのものです。

関連するQ&A