From d5244cea94260ffec5f52891caa819937ebfcf04 Mon Sep 17 00:00:00 2001 From: loveb Date: Thu, 12 May 2022 08:36:19 +0200 Subject: [PATCH] =?UTF-8?q?g=C3=B6r=20getCastleMove=20mer=20tydlig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/schack/Board.java | 4 ++-- src/schack/King.java | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/schack/Board.java b/src/schack/Board.java index 690132b..c62eefc 100644 --- a/src/schack/Board.java +++ b/src/schack/Board.java @@ -146,12 +146,12 @@ public class Board extends JPanel implements MouseListener { continue; } if (attacked.supremeRuler) { + validMovesToDraw.clear(); + getParent().repaint(); // Kolla ifall vi är i schackmatt if (weCanMove) { JOptionPane.showMessageDialog(this, "Du står i schack"); } else { - validMovesToDraw.clear(); - getParent().repaint(); int choise = JOptionPane.showConfirmDialog(this, "Schackmatt\nVill du starta om?"); if (choise == JOptionPane.YES_OPTION) { restartGame(); diff --git a/src/schack/King.java b/src/schack/King.java index 6c7739c..b11ac2a 100644 --- a/src/schack/King.java +++ b/src/schack/King.java @@ -11,9 +11,10 @@ public final class King extends PieceKnownIfMoved { supremeRuler = true; } - private void addCastlingIfCan(Piece[][] pieces, ArrayList movable, Point toMove, Point selected) { + private ArrayList getCastlingIfPossible(Piece[][] pieces) { + ArrayList possibleCastling = new ArrayList<>(); if (isMoved()) { - return; + return possibleCastling; } // Vänster @@ -27,7 +28,7 @@ public final class King extends PieceKnownIfMoved { Piece p = pieces[loopX][this.position.y]; if (p != null) { if (!p.isMoved()) { - movable.add(new Point(2, this.position.y)); + possibleCastling.add(new Point(2, this.position.y)); } } } @@ -48,7 +49,7 @@ public final class King extends PieceKnownIfMoved { Piece p = pieces[loopX][this.position.y]; if (p != null) { if (!p.isMoved()) { - movable.add(new Point(6, this.position.y)); + possibleCastling.add(new Point(6, this.position.y)); } } } @@ -58,6 +59,7 @@ public final class King extends PieceKnownIfMoved { nothingInBetween = false; } } + return possibleCastling; } @@ -101,7 +103,7 @@ public final class King extends PieceKnownIfMoved { } } - addCastlingIfCan(pieces, movable, position, position); + movable.addAll(getCastlingIfPossible(pieces)); return movable; }