2016-05-25 1 views
1

私はチェスエンジンで働いています。私は移動の合法性を定義しました、私は働くボードがあり、私は移動選択を開始する準備ができています。私は各ノードがスコアを返すと信じていますが、スコアがツリーの上に移動するにつれて、それが作ろうとしていた動きを忘れるでしょう。私はminiaxの各ノード内で2つのリストを保持すると考えていました。 1つは移動のためのもので、もう1つは移動のスコアのものです。チェスエンジンmoveselectionとMinimax

List<LegalMove> Moves = new List(256); 
List<Interger> scores = new List(256); 
public int Minimax(int depth, boolean maxplayer) 

if (maxplayer){ 
for(all possible moves){ 
minimax(depth-1,false) 
Moves.add(CompMove(variables) 
Score.add(CompScore(same variables) 
    } 
} 

問題はCompMoveはvoidを返すので、私はそれのリストを作るカント移動リストにしてあります。したがって、異なるパラメータを持つvoidを返すメソッドの多くのインスタンスに参照番号を関連付ける方法を知っている方は、下に置いてください。私は永遠に偉大な人になるでしょう。私が十分明確でない場合は、尋ねて病気を解消するために最善を尽くしてください。ありがとう!

+0

@ tkng15あなたの学校で指定されているMinimaxアルゴリズムを使用していますか? – user3437460

+0

これは個人的なプロジェクトです。ミニマックスは、2つのプレーヤーのゲームを合計するときに私が見るアルゴリズムです。 – tkgn15

答えて

0

MiniMaxアルゴリズムは本当にうまく書かれていますhere

+0

私が本当に必要とするのは動作するリストなので、私はminimax擬似コードに多くの時間を費やしませんでした。ある程度動く部分を特定のインデックスに置き換えていくことができます。深さがゼロになるまで呼び出され、与えられた時間にどの動きが最も良いかを決定しました。 – tkgn15

+0

@ tkgn15 CompMove、CompScore、Minimaxなど、このminimaxのjavaコードと連携する他のコードをリンクすることができれば、本当に役立ちます – jsurf

関連する問題