問題タブ [reversi]
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.
delphi - Delphi minmax HashTable デバッグ - クローズ
解決済み、学生バグ
==================================
私は Sum GNU Anti Reversi の作者です。Delphi プログラムにハッシュ テーブルを追加したいと思います。Delphi 2010 を使用しています。最小最大関数にハッシュ テーブルを追加します。コンピュータが間違ったスコアを出すことを知りません。助けてください。ありがとうございます。オリジナル番組
ハッシュ テーブルのバージョン:
https://sourceforge.net/projects/antireversi8x8/files/Debug-Will%20delete/debuging.zip/download
修正箇所:
algorithm - オセロ評価関数
私は現在、ミニマックス法とアルファベータ法を使用してオセロ用のシンプルなAIを開発しています。
私の質問は、ボードの状態の評価関数に関連しています。
私は現在、以下を見て評価しようとしています。
ディスク数(パリティ)
法的な動きの数
特定のポジションの重要性
つまり、ルートノードがゲームの初期状態であるとしましょう。最初のアクションはAIのアクションであり、2番目のアクションは対戦相手のアクションです。
ノードレベル1で、AIのチップのディスク数と、アクションが完了した後の時点でAIが実行できる合法的な移動の数を評価しますか?
ノードレベル2で、対戦相手のチップのディスク数と、対戦相手がアクションを完了した後の時点で実行できる合法的な移動の数を評価しますか?
意味AI移動->対戦相手の移動==>この時点で、対戦相手のディスク数と対戦相手が作成できる合法的な数を評価します。
heuristics - リバーシ(オセロ)のアイデアにはヒューリスティック関数が必要
ヒューリスティック関数について勉強したばかりですが、リバーシ (オセロ) のヒューリスティック関数のアイデアが見つかりません。ボードの状態をグレーディングするための良いアイデアが必要なだけです。
私は考えました:
- 移動回数を数える
- ディスクの数を数える
- コーナーにあるディスクの数を数えて、より良いスコアを与えます。
いいのかわかりません。
python - python3reversiゲームコード
Python3用のリバーシゲーム用に2つのファイルがあります。最初のファイルはreversi.pyと呼ばれます。これは、(a)ゲームプレイの高レベルの制御を実装します(たとえば、コンピュータープレーヤーと人間のプレーヤーからの動きの取得、プレーヤーの動きが不足しているかどうかの判断、ゲームの終了の判断、ゲームの結果の宣言) 、(b)QuickDrawを介したゲームのレンダリング、および(c)人間のプレーヤーからの入力の取得。
ここにファイルがあります:
そして、このファイルが完成しました。私の2番目のファイルはGame.pyと呼ばれています。最初のファイルは、プレーヤーが実行できる移動のためにこれをインポートします。
私は3つの欠けている定義を記入することになっています。check move(self、move、d)メソッドは、指定されたプレイのターンを想定して、指定された移動が特定の方向dに沿って検証されているかどうかをチェックします。それに応じてTrueまたはFalseを返します。言い換えれば、moveで指定されたグリッドから開始して、方向dに沿った多数の敵の石をキャプチャできる場合は、Trueを返す必要があります。このメソッドは、getmoves()やplaymove()などの他のメソッドで使用すると便利な場合があります。getmoves(self)メソッドは、現在のターンの有効なすべての移動を検索し、それらをリストに返します。たとえば、[2,4]と[3,6]に2つの移動がある場合、戻り値は[[2,4]、[3,6]]になります。select move(self)メソッドは、self.moveから移動を選択して返します。どうやら最も簡単な方法は、ランダムな動きを返すことです。
基本的に、これは「check_move」関数のベースです。
それは正しい方向ですか?
また、get_movesについては、次のような理由があります。
java - リバーシ ソフトウェア デザイン
大学の実習用にリバーシのバージョンをデザインする必要があります。シングル プレイヤー モード (自作の AI に対して)、ホットシート モード、およびインターネット経由のマルチプレイヤー モードを備えている必要があります。今まで、私は次の 3 つのインターフェイスを使用する MVC で reversi のクラスを既に作成しています。(Board-Class は、ボードを操作するためのメソッドを備えたボードをシミュレートします。) しかし、3 つの基本的な機能をどのように実装すればよいか疑問に思っています。私の最初のアイデアは、MVC の 2 番目のレイヤー (ホットシート、AI、およびネットワークにそれぞれ 1 つ) を実装することでした。そこでは、reversiController が、ユーザーが行ったすべての入力を上位レイヤーに転送し、上位レイヤーがこの移動をどうするかを決定します。上位層の移動は、下位層のビューをフレームとして特徴付け、ユーザーに追加情報と可能性を表示することになっています (繰り返しますが、ゲームの種類によって異なります) これは合理的なアプローチですか、それともこの問題をどのように処理しますか? 前もって感謝します!
}
}
パブリック インターフェイス IReversiController {
}
c# - メソッドがブール値としてt>1を返すとはどういう意味ですか?
誰かが次のreturnステートメントの使用/意味を説明できますか:t> 1; (last ifステートメントの最後のメソッドを参照)
コードは「Reversi」と呼ばれるゲームからのものですhttp://en.wikipedia.org/wiki/Reversi
このメソッドは、他のプレイヤーの石を囲んでいるかどうかをチェックします。
c - リバーシ ゲームの C ポインター
リバーシ ゲームのように、プレイヤー 1 がプレイヤー 1 のポーンとプレイヤー 1 の 2 つのポーンの間の対戦相手のすべての足が「X」をオンにする位置プログラム チャックを置いた後、この機能を使用したいと考えています。
これは未完成のコード全体です。
matlab - Matlabリバーシの「有効な動き」チェック
現在、移動チェッカーに問題があり、マトリックスの境界の外に見えないようにコードに入れているフェイルセーフが機能していないようです。何か提案はありますか?
また、機能していないように見えるという問題もあります (つまり、好きな場所にピースを配置できます!)。以前に使用したコードも以下にリストされています
コード:
実行時にエラーが返されました @ 境界:
他の部分: