0
これは船の端が他の船に触れないようになっていますが、何らかの理由で動作しません。私のT形船のために特に。 これはfor
ループの条件と関係していると思いますが、おそらくboat.getLength()+1
では十分ではありませんが、他に何を試していいのかわかりません。 私のmainBoard
の長さは10x10であり、line
とcol
のパラメータは、ユーザスキャナから得られるものと仮定しています。自然状態のボードは文字 '〜'で初期化されています。各ボートは、それが成功裏に配置されると、その特定のボートに任命されたキャラクターと共に「〜」を変更する。戦艦ゲームで船の周辺を検証するにはどうすればよいですか?
public boolean validateSurrounding(Boat boat, int line, int col) {
int i = line;
int j = col;
for (i = i - 1; i < boat.getLength()+1; i++) {
for (j = j - 1; j < boat.getLength()+1; j++) {
if (i < 0 || i >= mainBoard.length || j < 0 || j >= mainBoard[0].length) {
continue;
}
if (mainBoard[i][j] != '~') {
return false;
}
}
}
return true;
}
感謝。あなたの提案は私がそれを解決するのを助けました。どうやら、boat.length()の代わりに、それぞれline + 1とcol +1を使用する必要があります。 – PedroQ