ターンベースのゲーム関連の問題に対して、機能しているが実際には非効率的な解決策があります。
今すぐ最適化したいと思います。
短いバージョン: 2 人のプレーヤーは、ゲームのボードのほぼ同じビューを共有しますが、アクティブなプレーヤーは「プレイ」でき、非アクティブなプレーヤーはボードのみを見ることができます。
アクティブなプレーヤーには、ボードを操作するためのいくつかのボタンを含むビューが表示され、非アクティブなプレーヤーには、代わりに短い「あなたの番を待ってください」というメッセージが表示されます。これらのテンプレートは、JQuery の .load() メソッドを使用して div にロードされます。
ただし、各ターンには 0 ~ 3 の移動があり、これらの移動のすべてが両方のプレイヤーに「ライブ」で表示されます。
今のところ、毎秒リロードするJavaScriptタイマーがあります:
A)ゲームのモデルからフェッチされた「move」変数と「turn」変数のみを保持する非表示の div。(データ トラフィックに関しては > 10 バイト) 移動中に変更があった場合 ->
B)ボード ビューをリロードします。プレイヤーが 3 手未満で満足した場合 - 「パス ターン」オプションがあるか、3 手すべてを使用します ->
C) move 変数を 0 にリセットし、アクティブ プレイヤーを変更します。(上記の異なるビューの表示)
毎秒サーバーを呼び出すことは本当にひどい練習方法であり、実際に何らかの入力が必要であることを認識しています。