• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラミングによるオセロゲーム作成について)

オセロゲーム作成の進め方とminiMax法の実装

このQ&Aのポイント
  • オセロゲームをCで作成中の方に、AIの実装についてのお手伝いをします。
  • miniMax法を使ってAIを作る場合、子節点の数を事前に調べる必要があります。
  • 子節点の探索方法についても説明しますので、実装の参考になるでしょう。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

オセロなんだよね? だったら, とりあえず「全部のマス目を調べる」のが手っ取り早いんじゃないかな. もちろん「ルール上おいてはいけないマス目」もあるけど, それはルールで排除すればいいだけ. 実際問題としてゲームで探索するときに「子節点がいくつあるのか」を調べるのは無駄だと思う. そもそも「子節点がいくつあるのか」を数えようとしたら, 結局「まだ見ていない子節点があるかないか」を判断しなきゃならないんだし.

tomatokechappa
質問者

お礼

ありがとうございます

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

探し方はともかくとして。 Cのfor文では、; ; の真ん中の評価は、ループ毎に実行されます。 また、「i<10」といった不等式である必要もありません。 continueの挙動を除けば for(最初の子節点の手; 未評価の子節点がある; 次の子節点に移る) は 最初の子節点の手; while(未評価の子節点がある) { ... 次の子節点に移る } と同じです。 最初に数を数える必要はありません。

tomatokechappa
質問者

補足

回答ありがとうございます。 while(未評価の子節点がある) { ... 次の子節点に移る } と同じ挙動であったとして、「未評価の子節点がある」があるかどうかを判定するためには 子節点がいくつあるか知っておかなければ判定はできないのではないかと思ったのですが違うのでしょうか?