From 2bd838848898d59fc6f3b2f69d9c4f1d14f79ed6 Mon Sep 17 00:00:00 2001 From: loveb Date: Sat, 30 Apr 2022 12:44:20 +0200 Subject: [PATCH] =?UTF-8?q?Ta=20bort=20try-catch=20fr=C3=A5n=20addAttackMo?= =?UTF-8?q?vesIfCan?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/schack/Pawn.java | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/schack/Pawn.java b/src/schack/Pawn.java index f93bff9..565f8d3 100644 --- a/src/schack/Pawn.java +++ b/src/schack/Pawn.java @@ -58,17 +58,29 @@ public class Pawn extends PieceKnownIfMoved { } // Känns som det här skulle kunnat vara i validMoves, men nu är det såhär + /** + * Ifall det är en pjäs som står här och den inte är samma färg som oss, + * lägg till i listan + * + * @param pos + * @param movable + * @param pieces + */ private void addAttackMovesIfCan(Point pos, ArrayList movable, Piece[][] pieces) { - // Ifall det är en pjäs som står här och den inte är samma färg som oss, lägg till - try { - Piece p = pieces[pos.x][pos.y]; - if (p.white != this.white) { - tryToMoveAndCheckIfCheck(pieces, movable, pos); - - } - } catch (Exception e) { + // Se till att vi inte är utanför brädet + if (pos.x >= pieces.length || pos.x < 0 || pos.y >= pieces[0].length || pos.y < 0) { + return; } + + Piece piece = pieces[pos.x][pos.y]; + // Ifall det är tomt här, gör ingenting + if (piece == null) { + return; + } else if (piece.isWhite() != this.isWhite()) { + tryToMoveAndCheckIfCheck(pieces, movable, pos); + } + } @Override