いつでも医師に相談、gooドクター

C言語でオセロの終了条件を考えているのですが
1.盤上が黒か白の駒のみになる(一方の色のみ)
2.盤上が全て黒と白の駒で埋め尽くされる
終了の条件がこの二つしか思いつかないのですが他にありますか?教えてください。

gooドクター

A 回答 (4件)

終了条件としては、基本的に、#1氏が仰ってる



"空きマスにどちらの石を置いても相手の石を取れない=どちらも石を置けなくなる"

「だけ」ですね。
貴方が挙げた1, 2は必要ないと思います。

#1氏が仰ってるのは言わば「適法な手」であって、要するに次の一打が「適法な手」か否か判定する「判定関数」を書けば、ゲームの終了に関してはそれで終わり、です。
    • good
    • 0

ルール上は #2 で指摘されているように「どちらも打てるところがない」だけで十分だけど, 現実的には「全てのマスが埋まる」を別に設定するのがいいように思う.



1回打つごとに 1個ずつ石が増えていくだけだから簡単にチェックできるし.

あ, パスのチェックはしてる?
    • good
    • 0

コンピュータのオセロのアルゴリズムでミニマックス法という手法もあります。


コンピュータ対コンピュータを戦わせると面白いですよ
学生の頃やりました。35年前の話ですが.....
    • good
    • 0

空きマスにどちらの石を置いても相手の石を取れない=どちらも石を置けなくなるパターンがあります。


●●●〇
●●●〇
●〇●〇
〇〇〇
みたいな。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング