問題タブ [tic-tac-toe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1490 参照

c++ - Tic Tac Toe C++ アルゴリズムのデバッグのヘルプ

これが機能しない理由を理解するのを手伝ってください。コードにバグがあるのか​​、アルゴリズムに根本的な論理的な欠陥があるのか​​ どうかはわかりません。

私のアルゴリズムは minimax に基づいていますが、より単純な手法のためにヒューリスティック評価関数を使用しませんでした。単純な 3x3 tic tac toe は単純であるため、考えられる手ごとに考えられるすべてのゲーム結果を計算し、「スコア」が最も高いものを選択したいと思います。有効な動きの「トップ レベル」のベクトルと、対応する「スコア」の一致するサイズのベクトルを作成します。つまり、その動きに続くすべての可能な結果について、勝ちの場合は ++、損失の場合は -- です。

しかし、移動スコアのベクトルが奇妙な非対称値を取得しています。コードが機能したとしても、論理的には、最大の勝利と最小の損失につながるように計算された動きが、フォークなどの単純な戦術に盲目になる可能性はありますか? 私の本能はイエスと言っていますが、詳細な計算はしていません。

0 投票する
3 に答える
4344 参照

c++ - C++ 三目並べゲーム

私はとても混乱しています。Windows C++ビジュアルを使用して三目並べゲームを作成しようとしています。これまでのところ、エラーが発生し続けるまではうまくいっていました。私は助けを求めようとしましたが、答えはどれも正しくないようでした。これは私の練習問題です。

  1. Tic Tac Toe ボードを表示するための displayBoard を実装します。
  2. ボード上のボックスを選択するようにユーザーに促します。つまり、1 が左上隅である 1 から 9 までの数字です。

    cin.get(box) を使用してボックス番号を取得し、isdigit を使用してそれが数字であることを確認します。1 | 2 | 3 4 | 5 | 6 7 | 8 | 9 ボックスが利用可能な場合は、適切な X または O をそこに入れ、プレーヤーを切り替えます。つまり、X は O になり、その逆も同様です。ボックスが利用できない場合は、ユーザーに警告し、有効なオープン ボックスを選択するまで別のボックスを取得します。

  3. すべてのスポットを選択したら、「ゲーム オーバー!」を表示します。

  4. TicTacToe クラスを使用するメイン関数を作成し、上記のすべての機能をテストします。

.

0 投票する
1 に答える
4596 参照

c++ - C++ 三目並べゲーム

重複の可能性:
C++ Tic Tac Toe Game

私は最善を尽くしましたが、これが私がこれまでに持っているものです。助けてください。これは、完了する必要がある私のコードです。

  1. Tic Tac Toe ボードを表示するための displayBoard を実装します。
  2. ボード上のボックスを選択するようにユーザーに促します。つまり、1 が左上隅である 1 から 9 までの数字です。

    cin.get(box) を使用してボックス番号を取得し、isdigit を使用してそれが数字であることを確認します。1 | 2 | 3 4 | 5 | 6 7 | 8 | 9 ボックスが利用可能な場合は、適切な X または O をそこに入れ、プレーヤーを切り替えます。つまり、X は O になり、その逆も同様です。ボックスが利用できない場合は、ユーザーに警告し、有効なオープン ボックスを選択するまで別のボックスを取得します。

  3. すべてのスポットを選択したら、「ゲーム オーバー!」を表示します。

  4. TicTacToe クラスを使用するメイン関数を作成し、上記のすべての機能をテストします。

    /li>

これは私がこれまでに持っているものです。

0 投票する
3 に答える
2344 参照

c++ - Tic Tac Toe プログラムのヘルプ

既に持っているものからどのように進めればよいかわかりません。配列を機能させるのに問題があり、プログラムを再実行するたびにチャートがリセットされるのにも問題があります。X と O は保存されませんが、空白のチャートに戻ります。どんなヒントでも役に立ちます。ありがとう

@Bunnitあなたのアドバイスから、私はそれを変えることができました。今、私の唯一の問題は、各ボックスを X または O に置き換えることです。

0 投票する
4 に答える
7836 参照

algorithm - 三目並べでゲームの終了を判断する方法は?

私は三目並べゲームを開発していますが、ゲームがいつ終了するか(そして誰が勝つか)をチェックするアルゴリズムが必要です。3x3ゲームでは、それぞれの可能な勝利状況をチェックします(8つの機能があります)。しかし、7x7(4つのサインが連続しているか、列に並んでいるか、斜めになっている必要があります)には、多くの可能な勝利パターンがあります。

0 投票する
1 に答える
131 参照

c++ - クラスdraw()メソッドは、直接呼び出された場合は機能しますが、別のオブジェクトによって呼び出された場合はクラッシュします

9ボードのTicTacToeのバージョンを作成しています。(各移動は、相手プレイヤーが移動しなければならないボードを決定します)

私の標準Boardは次のようにうまく描画されます: gameplay->board->draw(w, h, d);

しかし、ゲーム全体がプレイされる3x3のグループを描画しようとすると、個々Boardのsは次のようになります。SuperBoardBoardEXC_BAD_ACCESSgameplay->superBoard->drawBig(w, h, d);

どこが間違っているのですか?

コード:

gameBoard.h:

gameBoard.cpp:

//--------------------------------------------//スーパーボードコード:// --------------------------------------------

0 投票する
7 に答える
17122 参照

algorithm - すべてのユニークな Tic Tac Toe ボードのリストを生成する

0 = 空白、1 = X、2 = O の構造の19,683 個の Tic-Tac-Toe ボード レイアウトをすべて含むテキスト ファイルを生成したいと考えています。残念ながら、数学は私の得意分野ではなく、例を見つけることができないようですこれのどこでも。

これは宿題のためではありません。ボードのセットアップに基づいて最適な動きを表す RGB 値を含む画像を生成するために、このデータを Minimax 計算機で実行するつもりです。関数をサポートしていない (イベント駆動型の) プラットフォーム用に Tic-Tac-Toe を開発しているので、ボードをゲーム内の数値に変換してから、画像内のピクセルの RGB を検索します。移動は。これは生意気な回避策ですが、145x145 ピクセルの画像以上の RAM は必要ありません (145x145 = 21,025 なので、各ピクセルはボードに基づいて推奨される動きを効果的に表します)。これは、CPU 時間を無駄にする必要がないことも意味します。これは、もう 1 つの利点です。

0 投票する
0 に答える
1252 参照

python - tictactoe の Python ミニマックス

tic tac toe のミニマックス実装に完全に失敗した後、何が問題なのかわかりません。今はAIがぐるぐる回ってるだけなのに…

なぜこうなった?

0 投票する
1 に答える
411 参照

java - ランダムに選択した後にボードにoを表示するプログラム

以前のコードについて申し訳ありません。これはコンピューターのコードです。ユーザーが座標N1を選択すると、その位置をブロックできる別の座標がランダムに選択されます。これは、私がJavaで作成しようとしている三目並べゲームの一部です。座標にxを印刷するのに問題があります。あなたが私を助けることができれば私はそれを大いに感謝します。単純なai。

0 投票する
4 に答える
2298 参照

c++ - 移動が有効なC++であるかどうかを確認するTicTacToeでスタック

こんにちは私は初心者で、unity3dで実行する前に、コンソールのtic tac toe c ++を作成していますが、それは別の話です。配列に1または-1がいっぱいになり、関数が無効な動きで言う必要があります。これは2d配列以外の方法で実行できます。プログラムはエラーなしでハングします。他の関数では、作業を行っていません。それでも、今のところ空です。ご協力いただきありがとうございます。

だから私は今のところそれを単純に保つために一次元配列を選ぶことにしました

助けてくれてありがとう。