を変更することはできませんこれは私のコードです:クローニングおよび編集intが[] [] Javaで - のint [] []
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
は8x8ボードであり、ボードゲームで最良の動きを計算しようとしています。
私が等しく良い動きのリストを見つけたら、相手が私ができるさまざまな動きをどのような可能性を持っているかチェックしたいと思います。だからclone()
board
、クローンnextMove[i][j] = 1
を編集して、新しいボードのmaxMove
関数を呼び出します。 nextMove
が変わらないように思え..
のprintlnはデバッグ用です、と私はmaxMove(nextMove);
とmaxMove(board)
に同じ結果を得る、これは間違って..です
'Arrays.copyOf'を使用してください。 – Laf
おそらくあなたのmaxMove関数が間違っていることを意味します... –
nextMoveボードの内容を変更したかどうかを確認したり、デバッガで調べたりすることをお勧めします。 –