From 7b487ef82d3af1677144931527655639da71d638 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sat, 19 Apr 2025 21:34:52 +0200 Subject: [PATCH] optimize execution speed --- app/src/main/java/chess/controller/CommandExecutor.java | 2 +- app/src/main/java/chess/model/Game.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/chess/controller/CommandExecutor.java b/app/src/main/java/chess/controller/CommandExecutor.java index f33040f..2b11eaa 100644 --- a/app/src/main/java/chess/controller/CommandExecutor.java +++ b/app/src/main/java/chess/controller/CommandExecutor.java @@ -55,7 +55,7 @@ public class CommandExecutor { case Moved: boolean notifyPlayerTurn = true; this.dispatcher.onBoardUpdate(); - if (checkGameStatus()) { + if (!(command instanceof UndoCommand) && checkGameStatus()) { this.dispatcher.onGameEnd(); notifyPlayerTurn = false; } diff --git a/app/src/main/java/chess/model/Game.java b/app/src/main/java/chess/model/Game.java index 4b7be53..360a5d2 100644 --- a/app/src/main/java/chess/model/Game.java +++ b/app/src/main/java/chess/model/Game.java @@ -70,6 +70,7 @@ public class Game { playerTurn = Color.getEnemy(playerTurn); } + // this is the bottleneck of algorithms using this chess engine public GameStatus checkGameStatus(Color color) { if (checkDraw()) return GameStatus.Draw;