Battleship
Battleship
public Board(){
squares = new String[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
squares[i][j] = "-";
}
}
}
public boolean addShip(int row, int col, int len, boolean horizontal){
if (onBoard(row, col) == false) {
return false;
}
if (horizontal == true) {
if ((squares[0].length - col) < len) {
return false;
}
for (int i = col; i < col + len; i++) {
if (row == 0) {
if (i != 0) {
if (squares[row][i - 1].equals("b") || squares[row + 1][i].equals("b")) {
return false;
}
} else {
if (squares[row + 1][i].equals("b")) {
return false;
}
}
if (squares[row][i].equals("b")) {
return false;
}
}
else if (row == 9) {
if (i != 0) {
if (squares[row][i - 1].equals("b") || squares[row - 1][i].equals("b")) {
return false;
}
}
else {
if (squares[row - 1][i].equals("b")) {
return false;
}
}
if (squares[row][i].equals("b")) {
return false;
}
}
else {
if (i != 0) {
if (squares[row][i - 1].equals("b") || squares[row - 1][i].equals("b") || squares[row +
1][i].equals("b")) {
return false;
}
} else {
if (squares[row][i - 1].equals("b") || squares[row - 1][i].equals("b")) {
return false;
}
}
if (squares[row][i].equals("b")) {
return false;
}
}
}
for (int i = col; i < col + len; i++) {
squares[row][i] = "b";
}
}
if (horizontal == false) {
if ((squares.length - row) < len) {
return false;
}
for (int i = row; i < row + len; i++) {
if (col == 0) {
if (i != 0) {
if (squares[i - 1][col].equals("b") || squares[i][col + 1].equals("b")) {
return false;
}
} else {
if (squares[i][col + 1].equals("b")) {
return false;
}
}
} else if (col == 9) {
if (i != 0) {
if (squares[i - 1][col].equals("b") || squares[i][col - 1].equals("b")) {
return false;
}
} else {
if (squares[i][col - 1].equals("b")) {
return false;
}
}
} else {
if (i != 0) {
if (squares[i - 1][col].equals("b") || squares[i][col + 1].equals("b") || squares[i][col -
1].equals("b")) {
return false;
}
}
else {
if (squares[i][col - 1].equals("b") || squares[i][col + 1].equals("b")) {
return false;
}
}
}
if (squares[i][col].equals("b")) {
return false;
}
}
for (int i = row; i < row + len; i++) {
squares[i][col] = "b";
}
}
return true;
}