ページ 1 / 1
○×ゲーム
Posted: 2007年6月26日(火) 19:54
by さいもん
むかし懐かしい○×ゲームを作ってみようと思いました。
○×ゲームとはこんなのです。
○| |
| |
| |
○| |
| |
| |×
○| |
| |
○| |×
○| |
|×|
○| |×
○| |
○|×|
○| |×
○の勝利!
3つ連続で並べると勝ちです。
これ敵のアルゴリズムを考えているのですが、なかなかわかりません・・。
現在全てのパターンについて全てif文で制御しているため、ものすごい長さのコードになってしまって、
可読性も皆無です・・。
入力は普通に0-0とか入力すると左上が選択されるとかって感じで入力してprintfで結果を表示しています。
こういうプログラムはどうやったらスマートにかけますか?
初心者ですので、難しいご回答はわからないかもしれませんが、よろしくお願いします。
Re:○×ゲーム
Posted: 2007年6月27日(水) 00:07
by box
私自身、詳しいことはわからないのですが、
どうも「ミニマックス法」や「α-β法」というキーワードについて
調べてみるとよさそうです。
ただ、3×3の○×ゲームは、双方が最善を尽くすと
引き分けになるような気がするのですけれど…。何となく。
Re:○×ゲーム
Posted: 2007年6月27日(水) 02:17
by 管理人
○×ゲームですか!
私も作りました。
あれはプログラミングを初めてすぐの事でした。
私も同じ事で悩みました。
いい方法が思いつかず、ものすごい量のif文を書いた覚えがあります。
たった○×ゲーム一つで千行位書いたような・・。
結局完成はしました。
すべてのパターンを根性でif文で書いたら全部かけました。
結果後の番の人は絶対に勝てないという結論になりました^^;
COM同士で勝負すると毎回引き分けになりました。
・・と具体的な答えがかけないのですが・・。
Re:○×ゲーム
Posted: 2007年6月27日(水) 09:06
by バグ
下記のサイトのC言語編に参考になりそうな記事がありますよ(^-^)
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/