L_Gameでプロジェクトを作成していますが、コードが次の move メソッドに固執しています。
public void move(int row, int col) {
char [][] temp= new char [cells.length][];
for (int i= 0; i< cells.length; i++) {
int destRow = (i+row)%cells.length;
temp[destRow] = new char [cells[i].length];
for (int j= 0; j < cells[i].length; j++)
temp[destRow][(j+col)%cells[i].length] = cells[i][j];
}
cells= temp;
}
私の移動メソッドは、オブジェクトを正しく移動していないようです..
したがって、出力は左側のようになると思われ、右側は私のコードからの出力です。明らかに正しく動かしていないことはわかっていますが、何が間違っているのかわかりません...
$ slide.move(0,2) $ slide.move(0,2)
$ slide.cells -> { $ slide.cells -> {
{ , ,o, }, | { , , , },
{ , ,o, }, | { , , ,o},
{ , ,o,o}, | { , , ,o},
{ , , , } | {o, , ,o}
} }
$ slide.move(1,2) $ slide.move(1,2)
$ slide.cells -> { $ slide.cells -> {
> { ,o,o, },
{ , , , }, { , , , },
{ , ,o, }, | { ,o, , },
{ , ,o, }, | { ,o, , }
{ , ,o,o} <
} }
- 「|」記号は、異なる行を示します。
- 「<」記号は、右の列にない左の列の行を指します。
- 「>」記号は、左の列にない右の列の行を指します。
move メソッドを修正して正しく移動させる方法について何か考えはありますか?
ありがとう