Я развиваю сетку 8x8. Похоже на шашки, я думаю. Игроки могут двигаться в любом направлении и прыгать/брать кусок в любом направлении.Можно ли консолидировать мои утверждения If здесь?
Я индивидуально выписываю КАЖДОЕ одно перемещение .. включая недействительные ходы. Есть ли способ очистить это? Я считаю, что есть, но я просто не вижу его в данный момент, я не могу придумать более простое решение.
Все работает нормально, мне просто интересно, если его можно сократить.
Heres некоторые из шагов:
//If player attempts to move 2 squares within the same column
if(checkRow == 2 && checkCol == 0){
//Checks if row is OOB. If not, Checks to see if there is a player 2 one position to the right.
//If yes checks to see if row - 2 equals the initial player. This avoids methods getting called
// When surrounded by multiple pieces.
if(fromRow+1 < 8 && boardGame[fromRow+1][fromCol].getPlayer()== 2 && boardGame[toRow-2][toCol].getPlayer() == 1){
board[fromRow+1][fromCol] = 0;
valid = true;
updateTurnCount();
}
//Checks if row is OOB. If not, Checks to see if there is a player 2 one position to the left.
else if(fromRow-1 >= 0 && boardGame[fromRow-1][fromCol].getPlayer()== 2 && boardGame[toRow+2][toCol].getPlayer() == 1){
board[fromRow-1][fromCol] = 0;
valid = true;
updateTurnCount();
}
else if(fromRow+1 < 8 && boardGame[fromRow+1][fromCol].getPlayer()== 1 && boardGame[toRow-2][toCol].getPlayer() == 2){
board[fromRow+1][fromCol] = 0;
valid = true;
updateTurnCount();
}
else if(fromRow-1 >= 0 && boardGame[fromRow-1][fromCol].getPlayer()== 1 && boardGame[toRow+2][toCol].getPlayer() == 2){
board[fromRow-1][fromCol] = 0;
valid = true;
updateTurnCount();
}
}
Это в значительной степени отвечает, что я просил, я не могу показаться, чтобы выяснить логику расчленить эти ужасно, если заявления. Так что это помогает! Спасибо. – Nihat