mirror of
https://github.com/lov3b/Schack.git
synced 2024-11-10 07:00:11 +01:00
Skriv bort try-catch
This commit is contained in:
parent
0adba36150
commit
828cc7ed5b
@ -84,38 +84,17 @@ public class Pawn extends PieceKnownIfMoved {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean addMovesIfCan(Point pos, ArrayList movable, Piece[][] pieces, boolean isSelected) {
|
||||
protected boolean addMovesIfCan(Point pos, ArrayList<Point> movable, Piece[][] pieces, boolean isSelected) {
|
||||
if (pos.x < 0 || pos.x > 7 || pos.y < 0 || pos.y > 7) {
|
||||
return false;
|
||||
}
|
||||
// Instead of checking index and null, try-catch
|
||||
try {
|
||||
// Ifall vi kollar utanför brädet kommer detta att faila
|
||||
Piece p = pieces[pos.x][pos.y];
|
||||
|
||||
// Ifall pjäsen här har samma färg som oss, break
|
||||
// Ifall det inte är någon pjäs här kommer det att gå ner till
|
||||
// catch(NullPointerException) och då lägger vi till detta drag i listan
|
||||
// Ifall det är inte är en pjäs här, kasta ett NullPointerException
|
||||
// Detta är för att vara så lik super-implementationen som möjligt
|
||||
if (p == null) {
|
||||
throw new NullPointerException();
|
||||
} else {
|
||||
// Detta betyder att det finns en pjäs här
|
||||
// Vi kan ta men inte gå längre.
|
||||
Piece pieceToCheck = pieces[pos.x][pos.y];
|
||||
if (pieceToCheck != null) {
|
||||
return true;
|
||||
}
|
||||
} catch (NullPointerException npe) {
|
||||
// This is an empty spot
|
||||
} else {
|
||||
tryToMoveAndCheckIfCheck(pieces, movable, pos);
|
||||
} catch (IndexOutOfBoundsException ioobe) {
|
||||
// This means that the player is at the edge
|
||||
System.out.println(pos);
|
||||
} catch (Exception e) {
|
||||
// For good meassure
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user