diff --git a/src/main/java/de/mannheim/th/chess/App.java b/src/main/java/de/mannheim/th/chess/App.java index 19a59bf..0fad01d 100644 --- a/src/main/java/de/mannheim/th/chess/App.java +++ b/src/main/java/de/mannheim/th/chess/App.java @@ -26,7 +26,7 @@ public class App { * @throws IOException */ public static void main(String[] args) throws IOException { - new MainFrame(); - OpeningRecognizer.loadOpenings(); + OpeningRecognizer.loadOpenings(); + new MainFrame(); } } diff --git a/src/main/java/de/mannheim/th/chess/domain/Game.java b/src/main/java/de/mannheim/th/chess/domain/Game.java index 12014e9..9b086d6 100644 --- a/src/main/java/de/mannheim/th/chess/domain/Game.java +++ b/src/main/java/de/mannheim/th/chess/domain/Game.java @@ -109,7 +109,11 @@ public class Game { public void playMove(Move move) { Piece removedPiece = board.getPiece(move.getTo()); if (removedPiece != Piece.NONE) { + int removedPiecesCount = removedPieces.size(); removedPieces.add(removedPiece); + if (removedPiecesCount + 1 < removedPieces.size()) { + removedPieces.removeLast(); + } } this.board.doMove(move); this.movelist.add(move); diff --git a/src/main/java/de/mannheim/th/chess/ui/SpielFrame.java b/src/main/java/de/mannheim/th/chess/ui/SpielFrame.java index 4a114cc..3bd441b 100644 --- a/src/main/java/de/mannheim/th/chess/ui/SpielFrame.java +++ b/src/main/java/de/mannheim/th/chess/ui/SpielFrame.java @@ -272,7 +272,8 @@ public class SpielFrame extends JFrame { panelLinks.add(b); } } - + + @Deprecated public void showWin(int player) { JFrame frame = new JFrame("Result"); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); diff --git a/src/main/java/de/mannheim/th/chess/utl/OpeningRecognizer.java b/src/main/java/de/mannheim/th/chess/utl/OpeningRecognizer.java index 1e115cf..d74af81 100644 --- a/src/main/java/de/mannheim/th/chess/utl/OpeningRecognizer.java +++ b/src/main/java/de/mannheim/th/chess/utl/OpeningRecognizer.java @@ -3,7 +3,6 @@ package de.mannheim.th.chess.utl; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; -import java.nio.file.spi.FileSystemProvider; import java.util.ArrayList; import java.util.List; diff --git a/src/test/java/de/mannheim/th/chess/utl/OpeningRecognizerTest.java b/src/test/java/de/mannheim/th/chess/utl/OpeningRecognizerTest.java new file mode 100644 index 0000000..ad26a4f --- /dev/null +++ b/src/test/java/de/mannheim/th/chess/utl/OpeningRecognizerTest.java @@ -0,0 +1,32 @@ +package de.mannheim.th.chess.utl; + +import static org.junit.jupiter.api.Assertions.*; + +import java.io.IOException; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import com.github.bhlangonijr.chesslib.Square; +import com.github.bhlangonijr.chesslib.move.Move; +import com.github.bhlangonijr.chesslib.move.MoveList; + + + +class OpeningRecognizerTest { + + @BeforeAll + static void prepareOpenings() throws IOException { + OpeningRecognizer.loadOpenings(); + } + + @Test + void test() { + Move m = new Move(Square.E2, Square.E4); + MoveList moves = new MoveList(); + moves.add(m); + assertEquals(OpeningRecognizer.compareOpening(moves, "Unknown"), "King's pawn Opening"); + + } + +}