これは私の宿題からの一般的な質問です。私はいくつかのアイデアや疑似コードを求めています。
C++を使ってtic-tac-toeゲームを構築しようとしているとします。私がすでに持っているものは、現在のゲームボードの状態を表すconstメンバーデータと、すべての可能な次のステップ状態を含む他のノードへのポインタのconst配列を含むNode
クラスです。これは重複したノードを持つ有向グラフです(すべてのノードには独自のゲーム状態があります)。
は、私は、このようなグラフを生成しようとしているトラブルを得ました。 Node
クラスのすべてのデータメンバーはconstなので、再帰を使用する必要があるようですので、変更する方法はありません。そして、Nodeを二重化することなく、一度にそのようなグラフを生成することをお勧めします(私はそれをツリーにするのは簡単ですが、多くの時間と空間を無駄にします)。私は2つの異なるゲーム状態を比較することができますし、私は<set>
以外のテンプルを使用することは許されないと考えています。
誰かがこれについて何か考えている場合は、あなたの考えや疑似コードを書き留めてください。私はあなたが必要だと思うTic-tac-toeゲームグラフデザイン?
0
A
答えて
0
が存在するかどうかを確認することですありがとう:
std::set<Node> checked_node;
bool isNodeChecked(Node){
return checked_node.find(Node)!=checked_node.end();
}
あなたのclass Node
上で動作するようにstd::set
ためoperator =
とoperator <
のようなものをオーバーロードする必要があります。
またstd::unordered_map
はうまくいくかもしれません。
(私はtic-tac-toeの状態は0から3^9の非負の整数で表すことができますが、このようにしてstd :: setで十分ですが、余分なエンコードデコードが必要です関数
関連する問題
- 1. TicTacToe Draw For Draw
- 2. TicTacToe Check Winsエラー
- 3. TicTacToe 5x5(Javaコンソール)
- 4. Java TicTacToe ArrayOutOfBounds
- 5. tictactoeのスイッチ・プレイヤー
- 6. TicTacToe minimax AI in Javascript
- 7. Python、tictactoe、構文エラー
- 8. tictactoe java rmi connection refused
- 9. TicTacToe Python勝者を確認
- 10. tictactoeとcss3を使って
- 11. Tictactoeのスコアによるハッシュチェック
- 12. TicTacToeもしかして?
- 13. TicTacToeゲームで1回は不要です。
- 14. C++&SDL TicTacToe - ターンを変更する
- 15. TicTacToeはターンを変更しません
- 16. C++のTicTacToeゲームの私の機能の1つ
- 17. Python TicTacToe minimaxが間違ったオプションを選択しました
- 18. 終了時に私のTicTacToeゲームを停止する
- 19. Android TicTacToe最高のレイアウトを使用する
- 20. TicTacToe Minimaxアルゴリズムは常に最低値を返します
- 21. JavaのTicTacToe AIのための最も簡単なMiniMaxアルゴリズム
- 22. Unity 2d勝利条件、TicTacToeに似たゲーム
- 23. TicTacToeで勝者を確認していますか?
- 24. tictactoeゲームでcheck_game_stateメソッドを実行する方法は?
- 25. TicTacToeで動的境界チェックを使用する方法
- 26. TicTacToeゲームで行と列を検索する
- 27. php/ajaxを使ったtictactoeは失敗し続ける
- 28. Javaエラー:ボタン用のarrayListを持つTicTacToeゲーム
- 29. TicTacToe勝利を数える方法、カウンター助けが必要
- 30. PythonでTicTacToeゲームの勝利/結婚条件をコード化する方法
JavaはサンプルのTicTacToeゲームに付属していますか? –
@PeterLawreyはい何時間も見ていましたが、何も見つからなかったのです。 –
constあなたがそれらを作成する際に、それらだけを設定することができます。あなたはすべてのサブノードを作成した後、あなたが唯一のノードを作成できることを意味する。 –