これは私の宿題からの一般的な質問です。私はいくつかのアイデアや疑似コードを求めています。
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. Java TicTacToe ArrayOutOfBounds
- 2. TicTacToe Draw For Draw
- 3. TicTacToe Python勝者を確認
- 4. C++&SDL TicTacToe - ターンを変更する
- 5. tictactoeゲームでcheck_game_stateメソッドを実行する方法は?
- 6. TicTacToeで勝者を確認していますか?
- 7. jGraphTを使ってTicTacToeのゲームの勝利条件を確認することは可能ですか?
- 8. 私はTicTacToeのMin Maxから自分の最善の動きを引き出すことができますか?
- 9. Javaジェネリックスと同等の機能を実装する方法C++テンプレート内の自己バインド型
- 10. Javaドライバクラスのエラー
- 11. C++ tic tac toeクラスを使用して
- 12. のJava ActionListenerに
- 13. C++ Tic Tac Toe Game
- 14. 管理対象配列を関数に渡すにはどうすればよいですか?
- 15. JavaScriptの送信中にURLパラメータが渡されない
- 16. C++チックタックトーゲーム
- 17. btn.Enabled = false;を設定せずにC#のボタンを無効にする
- 18. Androidマーケットで問題が公開されました
- 19. 論理的な誤り、Tic Tac Toeの受賞者を確認する
- 20. SDK 9の読み込み中にエラーが発生するサンプルアプリケーション
- 21. PHP:クリックしたときにボタンでテキストを置き換えます
- 22. メインクラスをJavaでリロードするには?
- 23. GHC - ncurses-0.2ライブラリを使ってプロジェクトをコンパイルするときのリンクエラー
- 24. 非静的変数これは静的コンテキストから参照することはできません
- 25. .rb Rubyファイルの実行
- 26. サーバーサイドファイルを使用して相互にやりとりする必要があるユーザーを追跡するにはどうすればよいですか? ASP.NET/C#
- 27. (C++)名前空間とリンクすると重複シンボルエラーが発生する
- 28. ライブラリアクティビティのmanifest.xmlに.Preferenceアクティビティを指定する方法
- 29. Tic-Tac-Toeが勝者を確認する
- 30. プログラムが正常に実行されない
JavaはサンプルのTicTacToeゲームに付属していますか? –
@PeterLawreyはい何時間も見ていましたが、何も見つからなかったのです。 –
constあなたがそれらを作成する際に、それらだけを設定することができます。あなたはすべてのサブノードを作成した後、あなたが唯一のノードを作成できることを意味する。 –