Для летнего проекта я работаю над шахматным движком. Я определил законность движения, у меня есть рабочая доска, и я готов начать выбор движения. для minimax я считаю, что каждый узел возвращает счет, но я боюсь, что по мере того, как счет поднимается вверх по дереву, он забудет ход, который он собирался сделать. поэтому я думал, что в каждом узле минимакса я бы сохранил 2 списка. один для хода и один для оценки хода.Минимакс с шахматным двигателем moveselection
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, все имеющие разные параметры, пожалуйста, разместите его ниже. Я буду вечно великим. если я не достаточно ясен, просто спросите, и я стараюсь изо всех сил очистить. Благодаря!
@ tkng15 Использует Minimax Algorithm требование, указанное вашей школой? – user3437460
Это персональный проект. minimax - это всего лишь алгоритм, который я вижу при игре с нулевыми суммами в 2 игрока. – tkgn15