Articles

Connect Four

これは、よく知られたゲーム「Connect Four」をプレイするためのWebアプリケーションです。

このプロジェクトは、グラーツ工科大学の Oswin Aichholzer 氏が監督するコース「Software TechnologyProject」のプロジェクトとして、Christian Kollmann 氏によって開発されました。

サーバーは、Spring フレームワークを使用して Java 7 で記述されています。

サーバーはJava 7で書かれており、Springフレームワークを使用しています。 互換性は、LinuxとAndroid上で動作するChromiumとMozillaFirefoxでテストされました。 しかし、このアプリケーションはMicrosoft Internet Explorerのようなあらゆるブラウザと互換性があるはずです。

機能

  • どちらのプレーヤー(AとB)も、人間またはコンピューター(AI)によって制御することができます
  • AIのレベルを選択します:「Perfect」は常に最適な動きをします(固有の動きではないかもしれません)、「Just win」は勝つための動きをランダムに選択します(最適な動きである必要はありませんが、利用可能な場合)、「Random」は列をランダムに選択します
  • 動きの情報。 オプションとして、可能な手に対してゲーム終了までの半手の数を表示します
  • 推奨の手を表示します。 現在のプレイヤーに最適な手を表示します(複数の手が表示される場合もあります)
  • Undo/Redo:
  • Save/Load: 後でゲームを再開するために、ゲームを (HTML5 で提供されるローカル ストレージに) 保存します

Basics

このゲームの AI は、大規模なデータベースに保存されている、最大 23 枚のコインで可能なすべてのゲーム ポジションを徹底的に評価することに基づいています。 コインが24枚以上のボードは、サーバー上で直接評価されます。 各可能性のあるボードについて、そのステータス(現在のプレイヤーの勝利、相手プレイヤーの勝利、引き分け)と、このボードから勝利を得るために必要な半手の最小数がわかります。 偶数の場合は、その列にコインを置くことで、さらに何回の半手で勝てるかを示しています(相手の最適なプレイを想定していますが、そうでなければより早く勝てます)。 奇数の場合は、相手の勝利を遅らせることができる最大の半手数を示しています(ここでも相手の最適な防御プレイを想定しています)。 D」は、現在のプレイヤーが引き分けに持ち込むことができるポジションを示します。 つまり、偶数の数字は、(最適なプレイを続けた場合)最大でこの数の半手で現在のプレイヤーの勝利が保証される、勝利の手を示します。 最適な勝利の手とは、プレイヤーが勝利するまでの半手のシーケンスが最短であることを保証する手のことです。 合計すると、基礎となる徹底的なデータベースは、コネクトフォーが先手必勝であることを確認するだけではありません。 盤上のあらゆる可能な状況に対して、すべての可能な手の完全な情報を示しているので、ゲーム全体を分析するための完璧な情報を提供しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です