Это мой код:
public Move makeMove(int[][] board)
(... больше кода ...)
int[][] nextMove = board.clone();
nextMove[i][j] = 1;
int nextMaxMove = maxMove( nextMove );
System.out.println( next max move: " + nextMaxMove + " " + maxMove( board ) );
int[][] board
- доска 8х8, и я пытаюсь вычислить лучший ход в настольной игре.
Когда я нашел список одинаково хороших ходов, я хочу проверить, какие возможности оппонента дали различные ходы, которые я могу сделать. Поэтому я clone()
board
, редактирую клон nextMove[i][j] = 1
и вызываю функцию maxMove
на новой доске.
println для отладки, и я получаю тот же результат для maxMove( nextMove );
и maxMove( board )
, это неправильно .. Кажется, что nextMove
остается неизменным ..