• ベストアンサー

三目並べ

三目並べ 三目並べ(○×ゲーム)のプログラムにコンピュータとの対戦を付けたいのですがどうすればいいのでしょうか。教えてください。 ソースプログラム↓↓ http://ime.nu/codepad.org/wfwkEbVP 実行結果はこんな感じにしたいです。 1Pと2Pとの交互に対戦しますか? 1Pとコンピュータとの対戦にしますか? プレイヤ同士の対戦なら1を、コンピュータとの対戦なら2を入力してください: こんな感じで選らばせて対戦できるようにしてほしいです。 ※1Pのマスは○でコンピュータのマスは×でお願いします。

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

  • ベストアンサー
回答No.1

まず、 > 1Pと2Pとの交互に対戦しますか? > 1Pとコンピュータとの対戦にしますか? > プレイヤ同士の対戦なら1を、コンピュータとの対戦なら2を入力してください: というのをだすのは、get_pos関数をマネして書いたらいいです。 あとは2Pの代わりにコンピューターに打たせればいいだけです。 コンピューターにどう打たせたいかは、評価関数を適当に作ってください、 http://ja.wikipedia.org/wiki/%E8%A9%95%E4%BE%A1%E9%96%A2%E6%95%B0 三目並べだと評価関数に全通り計算させれば絶対負けないコンピュータになってしまいますけどね。

shamal1988
質問者

お礼

ありがとうございます。上手くいきました。

shamal1988
質問者

補足

それっぽくは出来たのですが、殆ど乱数で決めてしまう感じになってしまいました。 http://codepad.org/2VItJ1Bt どう打たせたいかプログラム上でどう書けばいいのかわかりません。 それと先手後手をジャンケンで決めれるようにしたいのですがどうすればよろしいでしょうか。

関連するQ&A

  • ○×ゲーム

    ○×ゲーム ○×ゲームを作ってますがコンピュータとの対戦の時、先攻後攻をジャンケンで決めれるようにしたいのと、コンピュータがマスを置くAIをしっかりとしたものにしたいのですがプログラム上でどうすればよろしいでしょうか。どなたか教えてください。 ソースコード↓ http://codepad.org/haIjhQhY

  • 教えてください(丸罰ゲーム)

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

  • fortressという名前の、レトロなパソコンゲームを知りませんか?

    fortressという名前の、レトロなパソコンゲームを知りませんか? チェスや将棋のように、1対1で対戦する、運の要素のない知的ゲームです。 6x6のマスの中に、互いに城を建てていき、最終的に自分の陣地が多いほうが勝ちです。 私が見たのは、1980年代頃の、PC-9801用ゲームソフトです。 確か色が付いてないモノクロのゲームだったと思います。 デザインの感じから言って、多分外国のゲーム、 恐らくオリジナルはAppleII用ではないかと思います。 なぜ探しているかと言うと、人間の相手をしてくれるコンピュータのAIが、 本格的AIっぽいからです。最初はランダムに指してくるが、数回対戦すると こちらの手を覚えて強くなります。20回ぐらい対戦すると、なかなか勝てない ほど強くなります。しかも、戦術も覚えます。AIキャラを複数作成できて、 例えばキャラAと対戦するときは序盤から陣地を多く取る戦術で戦い、 キャラBに対してはなるべく敵の城を壊していく戦術で戦います。すると、 それぞれのキャラがこちらの戦術を覚えて、それに従った手を指してくるのです。 このようなものは、他に見たことがなく、とてもなつかしく思っているので、 このゲームの発売元、作者、いまでも手に入るか、などの情報を探しています。 ゲームのルールは以下です。 6×6のゲーム盤上で、敵・味方が交互に手を指します。 1手でできるのは、以下のいずれか。 (1)空いているマスに自分の城を建てる。 (2)既に立っている自分の城を2階建てにする。 (3)既に立っている自分の2階建ての城を3階建てにする。 1手指すごとに、各マスの勢力を計算します。 (1)城があるマスと、その前後左右の計5箇所のマスには、城の勢力が及びます。 (2)1階建ての自分の城は+1、2階建ての城は+2、3階建ての城は+3の勢力。 (3)同様に敵の城は-1 ~ -3の勢力。 それぞれのマスごとに、勢力の合計を求めます。 (1)勢力がプラスのマスに敵の城が建っているとき、その城は壊れる。 (2)勢力がマイナスのマスに自分の城が建っているとき、その城は壊れる。 (3)城が建っているマスは、それぞれの側の陣地。 (4)空いているマスは、勢力がプラスなら自分の陣地、マイナスなら敵の陣地。 所定の回数指したらゲーム終了。互いの陣地の数を数え、多いほうが勝ち。

  • 将棋のゲーム

    20年ほど前から家庭用ファミリーコンピューターで将棋のゲームが出ていたのですが、今思うと将棋のコンピューター対戦のプログラムはものすごいように思います。強さも選択ができたと思います。 いったい将棋ゲームのコンピューターはどんな風に作ってあるのでしょうか!??

  • 見た目が華やかなプログラム

    変数、制御文、関数、構造体くらいまでの基礎を一通り終えたC言語初心者です このレベルの内容を使ってある程度見た目が華やかなプログラムを作りたいと思います。 以前、左上からスタート、右下がゴール、0なら進めて1のマスは進めないという迷路を作って、脱出するまでの最短距離を求めるプログラムを作ってみました。 しかし、入力に時間がかかる上に出力結果が「最短距離は=>X」と出るだけで地味です DOS画面動作なので限界はあるとは思いますが、それでももう少し華やかなものはないでしょうか? 出来れば完成品のソースコードなどがあるとベストです。 宜しくお願いいたします

  • マインスイーパ、自動解析プログラムの作り方

    マインスイーパの自動的に解くプログラムがありますが、 あれはどのような仕組みになっているのでしょうか。 どうやって、マス目の数字を取得しているのか、 どうやって、マスを開けているのか。 プログラムによっては、まだ開けていないマスに 色をつけてくれるものまであり、 手品でも見ているような感じです。 もし、作られた方がいらっしゃったら、 タネ明かしして頂けないでしょうか。 ソースコードレベルでなくても、 だいたいの概略や、ヒントのようなものでも良いので、 よろしくお願いします。

  • オセロの「必ず勝つ方法」のプログラム開発は技術的に可能?

    小学生の頃、私と友人達との間で○× (マルバツ)というゲームがはやっていました。 この○×というゲームは、「絶対負けない方法」というのが存在し、その方法は 小学生でも理解できる非常に簡単なものでした。 そこで疑問に思ったのですが、もしパターンを徹底的に追求すれば、○×よりも もっとルールが複雑なオセロでも「必ず負けない方法」を開発することって 出来るのではないでしょうか? チェスのプロに勝ってしまうコンピュータなんてのが出てきて話題になったのは かなり昔になってしまいましたが、ルールがチェスよりも単純なオセロなら、 プロに勝つどころか「絶対に負けない」というアルゴリズムを開発する事は 可能な気がしてしまいます。 現在のコンピュータ開発は、オセロ対戦プログラムについてはどこまで進んでいるので しょうか? コンピュータのオセロってどれくらい強いんでしょうか? 今後の開発具合によっては「オセロで絶対に負けないコンピュータ」は現れると 思いますか?

  • C言語で三目並べをするプログラムの作成

    C言語で三目並べ(いわゆる○×)をするプログラムを作成したいのですがうまくいきません;; どなたか教えてください。よろしくお願いします。 条件 ・コンピュータの手はランダムに決定するものとする(空いているところに打つ) ・盤面を表現する配列は3×3の二次元配列とし、グローバルに宣言する ・以下のような関数を作成すること:盤の表示、○×を打つ、3つ並んだかチェック ・他にも必要に応じて関数を宣言すること ヒント集 ・マスの状態は空:0 ○:1 ×:2など数値で定義するとよい。 ・char stone[3][3]={"-","○","×"};などと宣言しておくと便利? ・9マスしかないので、9マス打ち切ったら終了→このとき勝敗が決まっていなければ引き分け ・ループの考え方は2通りできる  1.先手後手がセットで1ループ、9マス目に先手が打ったらbreak 2.先手、後手それぞれ1ループ,nマス目は、n%2=0なら先手、n%2=1な  ら後手 ・三目並んだかのチェックは工夫のしどころ  ・手盤の人の石だけチェックする  ・打ったところの縦横は必ずチェック、斜めはどうする? ・作っていく順  ・石の入力+盤面表示、コンピュータの手番、3つ並んだかチェック、勝敗表示  ・石の入力+盤面表示、3つ並んだかチェック、勝敗表示、コンピュータの手番

  • ゲームの中身を見てみたい

    あるPCゲームを2つDLしました。 1つはとても楽しんでいます。 ふと、プログラムソースっていうのかな、 例えばホームページでいえばHTMLソースのような、 コンピュータ言語できっと書かれている、 アレを見てみたくなりました。 僕はまったくそっちのほうは判らないし、 ゲームを作る気もないのですが、 単純に好奇心でそのゲームの設計図を見てみたいのです。 そのゲームにはZIPファイルのほかに ゲーム1:(こっちはうちのPCではどうも動かないらしい) **.prc Readme.txt ゲーム2: **.exe Readme.txt というファイルがあります。 メモ帳で開けたのはReadme.txtのみで、 **.exeは実行ファイルだし、 **.prcはメモ帳で開くと文字化けの集合体でした。 DOS画面のような、そのプログラムが書かれている 表示にするにはどんなものが必要なのでしょうか。 .exeファイルや.prcファイルを覗く為の 専用ソフトがあるのでしょうか。 僕のPCはwin98SEです。

  • オンラインゲーム

    オンラインゲームをDLすると100%までいくのですが スキャンで ダウンロードした人数がすくないため、コンピュータに問題を起こす可能性があります。  削除 操作 ダウンロードの表示 と表示されます・・・ 操作をおすと SmartScreenフィルタ  このプログラムはコンピューターに問題を起こす可能性があります SmartScreenフィルターに、このプログラムに関する情報がほとんどありません。 この末署名のプログラムを実行するとコンピューターに問題を起こす可能性があります。 プログラム実行しない プログラムの削除 というのが表示されDLすらできません・・・ 解る方、また同じような症状で解決されたかたいましたら お手数ですが回答よろしくお願いします。

専門家に質問してみよう