From f46af111e145787ee5dfabb3f1f904ce18d70148 Mon Sep 17 00:00:00 2001 From: antrikshdhand <> Date: Sun, 12 Nov 2023 21:52:03 +0800 Subject: [PATCH 01/54] Implement 'captured' command --- .../chessmaster/commands/CapturedCommand.java | 103 ++++++++++++++++++ src/main/java/chessmaster/parser/Parser.java | 3 + 2 files changed, 106 insertions(+) create mode 100644 src/main/java/chessmaster/commands/CapturedCommand.java diff --git a/src/main/java/chessmaster/commands/CapturedCommand.java b/src/main/java/chessmaster/commands/CapturedCommand.java new file mode 100644 index 0000000000..751e575840 --- /dev/null +++ b/src/main/java/chessmaster/commands/CapturedCommand.java @@ -0,0 +1,103 @@ +package chessmaster.commands; + +import chessmaster.exceptions.ChessMasterException; +import chessmaster.game.Game; +import chessmaster.pieces.ChessPiece; +import chessmaster.user.CPU; +import chessmaster.user.Human; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CapturedCommand extends Command { + + public static final String CAPTURED_COMMAND_STRING = "captured"; + + private String getCapturedDisplayString( + ArrayList humanInPlay, ArrayList humanCaptured, + ArrayList cpuInPlay, ArrayList cpuCaptured) { + + StringBuilder sb = new StringBuilder(); + sb.append("Player's pieces\n"); + sb.append("-".repeat(40)).append(System.lineSeparator()); + + // In play: Human + sb.append("In play:\n"); + appendPiecesWithCount(sb, humanInPlay); + + // Captured: Human + sb.append("\nCaptured:\n"); // Add a separator between "In play" and "Captured" + appendPiecesWithCount(sb, humanCaptured); + + // Space between Human and CPU pieces + sb.append(System.lineSeparator()); + sb.append(System.lineSeparator()); + + sb.append("CPU's pieces\n"); + sb.append("-".repeat(40)).append(System.lineSeparator()); + + // In play: CPU + sb.append("\nIn play:\n"); // Add a separator between "Captured" and "In play" + appendPiecesWithCount(sb, cpuInPlay); + + // Captured: CPU + sb.append("\nCaptured:\n"); // Add a separator between "In play" and "Captured" + appendPiecesWithCount(sb, cpuCaptured); + + return sb.toString(); + } + + private void appendPiecesWithCount(StringBuilder sb, List pieces) { + Map pieceCountMap = new HashMap<>(); + for (ChessPiece piece : pieces) { + String pieceName = piece.getPieceName(); + pieceCountMap.put(pieceName, pieceCountMap.getOrDefault(pieceName, 0) + 1); + } + + // This relies on the fact that the "In play" pieces should never be empty + if (pieceCountMap.isEmpty()) { + sb.append("No pieces have been captured yet!\n"); + } + + for (Map.Entry entry : pieceCountMap.entrySet()) { + sb.append("- ").append(entry.getKey()); + if (entry.getValue() > 1) { + sb.append(" x").append(entry.getValue()); + } + sb.append(System.lineSeparator()); + } + } + + public CommandResult execute(Game game) throws ChessMasterException { + Human human = game.getHuman(); + ArrayList humanInPlay = new ArrayList<>(); + ArrayList humanCaptured = new ArrayList<>(); + for (ChessPiece p : human.getPieces()) { + if (p.getIsCaptured()) { + humanCaptured.add(p); + } else { + humanInPlay.add(p); + } + } + + CPU cpu = game.getCPU(); + ArrayList cpuInPlay = new ArrayList<>(); + ArrayList cpuCaptured = new ArrayList<>(); + for (ChessPiece p : cpu.getPieces()) { + if (p.getIsCaptured()) { + cpuCaptured.add(p); + } else { + cpuInPlay.add(p); + } + } + + String displayString = this.getCapturedDisplayString( + humanInPlay, humanCaptured, + cpuInPlay, cpuCaptured + ); + + return new CommandResult(displayString); + } +} diff --git a/src/main/java/chessmaster/parser/Parser.java b/src/main/java/chessmaster/parser/Parser.java index eacc81d9c5..e5a5bcf093 100644 --- a/src/main/java/chessmaster/parser/Parser.java +++ b/src/main/java/chessmaster/parser/Parser.java @@ -12,6 +12,7 @@ import chessmaster.commands.ShowCommand; import chessmaster.commands.ShowMovesCommand; import chessmaster.commands.StepbackCommand; +import chessmaster.commands.CapturedCommand; import chessmaster.exceptions.MoveOpponentPieceException; import chessmaster.exceptions.NullPieceException; import chessmaster.exceptions.ParseColorException; @@ -176,6 +177,8 @@ public static Command parseCommand(String in) { return new HistoryCommand(); case StepbackCommand.STEPBACK_COMMAND_STRING: return new StepbackCommand(payload); + case CapturedCommand.CAPTURED_COMMAND_STRING: + return new CapturedCommand(); default: return new InvalidCommand(); } From 3c388130f62458e9288705b3ecb4e69ab02b402d Mon Sep 17 00:00:00 2001 From: antrikshdhand <> Date: Sun, 12 Nov 2023 22:06:23 +0800 Subject: [PATCH 02/54] Update UG --- docs/UserGuide.md | 61 ++++++++++++++++--- .../chessmaster/commands/HelpCommand.java | 1 + 2 files changed, 54 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 8aafd7d3cc..506dcc77e8 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -17,9 +17,10 @@ ChessMasterCLI is a command-line interface (CLI) chess game designed to make lea - [Show commands: `help`](#show-commands-help) - [Legend: `legend`](#view-pieces-representation-legend) - [Restart game: `restart`]() - - [View history of game moves: `history`](#view-history-of-game-moves-history) + - [View history of game moves: `history`](#view-history-of-all-game-moves-history) - [Step back in history: `stepback`](#step-back-in-history-stepback) - - [Aborting game: `abort`](#aborting-game-abort) + - [List pieces in play: `captured`](#list-pieces-in-play-captured) + - [Exit game: `exit`](#exit-the-game-exit) - [Command Summary](#command-summary) ## Quick Start @@ -477,7 +478,6 @@ Expected output: Do you want to restart game? [y/n] ``` - ### View history of all game moves: `history` Displays a list of all previous moves in the current game @@ -491,11 +491,49 @@ in the current game. Format: `stepback [number of moves to step back]` -### Saving and loading games +### List pieces in play: `captured` -Every time a turn ends, ChessMaster will save the current state of the game. When ChessMaster is restarted, the -user will be prompted to choose whether to load the saved game or begin a new one. ChessMaster only supports a single -saved game, and starting a new one will delete the existing save file. +Lists each player's pieces grouped by whether they have been captured or not. + +Format: `captured` + +Sample output: +``` +_________________________________________________________________ + +Player's pieces +---------------------------------------- +In play: +- Bishop x2 +- King +- Knight +- Pawn x7 +- Rook x2 + +Captured: +- Queen +- Knight +- Pawn + + +CPU's pieces +---------------------------------------- + +In play: +- Bishop x2 +- King +- Queen +- Knight +- Pawn x7 +- Rook x2 + +Captured: +- Knight +- Pawn + +_________________________________________________________________ + +``` ### Exit the game: `exit` @@ -511,6 +549,12 @@ Exiting program... Thanks for playing! _________________________________________________________________ ``` +### Saving and loading games + +Every time a turn ends, ChessMaster will save the current state of the game. When ChessMaster is restarted, the +user will be prompted to choose whether to load the saved game or begin a new one. ChessMaster only supports a single +saved game, and starting a new one will delete the existing save file. + ## FAQ **Q**: How do I transfer my data to another computer? @@ -539,6 +583,7 @@ to simulate timed games. | Help | `help` | | Pieces legend | `legend` | | History | `history` | -| Step back | `stepback` | +| Step back | `stepback [number of steps]` | +| List pieces | `captured` | | Exit | `exit` | diff --git a/src/main/java/chessmaster/commands/HelpCommand.java b/src/main/java/chessmaster/commands/HelpCommand.java index 06e0ef8874..eb60812725 100644 --- a/src/main/java/chessmaster/commands/HelpCommand.java +++ b/src/main/java/chessmaster/commands/HelpCommand.java @@ -23,6 +23,7 @@ public class HelpCommand extends Command { "stepback\tView the board as it was a certain number of moves ago", "\t\tFormat: stepback [number of moves to step back]", "\t\te.g. stepback 4", + "captured\t\tSee which Player and CPU pieces have been captured so far", "exit\t\tExit game", }; From 49caca904d3a9ef26267d37866315e5008ab9c4d Mon Sep 17 00:00:00 2001 From: antrikshdhand <> Date: Sun, 12 Nov 2023 22:07:21 +0800 Subject: [PATCH 03/54] Fix formatting on help menu --- src/main/java/chessmaster/commands/HelpCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/chessmaster/commands/HelpCommand.java b/src/main/java/chessmaster/commands/HelpCommand.java index eb60812725..73ffedc884 100644 --- a/src/main/java/chessmaster/commands/HelpCommand.java +++ b/src/main/java/chessmaster/commands/HelpCommand.java @@ -23,7 +23,7 @@ public class HelpCommand extends Command { "stepback\tView the board as it was a certain number of moves ago", "\t\tFormat: stepback [number of moves to step back]", "\t\te.g. stepback 4", - "captured\t\tSee which Player and CPU pieces have been captured so far", + "captured\tSee which Player and CPU pieces have been captured so far", "exit\t\tExit game", }; From 862dda04de777e03b347c568adbc4bc46e58b694 Mon Sep 17 00:00:00 2001 From: antrikshdhand <> Date: Sun, 12 Nov 2023 22:27:57 +0800 Subject: [PATCH 04/54] Update README.md with new command --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d19d4ed61..75cac259ad 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ A summary of user commands can be found in the table below: | Pieces legend | `legend` | | History | `history` | | Step back | `stepback` | +| List pieces | `captured` | | Abort | `abort` | Please visit our [User Guide](https://ay2324s1-cs2113-t18-1.github.io/tp/UserGuide.html) for further details on each From fc2e9c00072a2d58e6e03973954b364f763003d0 Mon Sep 17 00:00:00 2001 From: onx001 Date: Sun, 12 Nov 2023 23:10:16 +0800 Subject: [PATCH 05/54] Update PPP --- docs/UserGuide.md | 2 +- docs/team/onx001.md | 41 ++++++++++++----------------------------- 2 files changed, 13 insertions(+), 30 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index cb4cdbf46d..98a066b598 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -158,7 +158,7 @@ _________________________________________________________________ ## Ending the game -The game will automatically end and a victor be declared when one side has been checkmated, or if their king has been captured. +The game will automatically end and a victor be declared when one side has been checkmated, or if both players are stuck in a stalemate situation where neither player can avoid moving into a checked position. Checkmate is the point in the game where the attacking player has the opponent's king in a situation where it can't escape being captured on the next move. diff --git a/docs/team/onx001.md b/docs/team/onx001.md index 9b108bbdeb..18010f1f23 100644 --- a/docs/team/onx001.md +++ b/docs/team/onx001.md @@ -1,43 +1,26 @@ -This is a draft for the PPP. - -In here goes my contributions and features. - -Let me know if there is more to add. - -Here are some additional lines. - -Features: - -Minimax -Castling -En-Passant -Move validity -Check -Checkmate - # Project Portfolio: ChessMaster ## Overview -I implemented the main game logic, including the `Minimax` class and algorithm which serves as the backbone for the +I implemented the main game logic, including the `Minimax` class and algorithm which serves as the backbone for the CPU, as well as move logic for the individual chesspieces. These classes dictate the precise functioning and internal logic of the game. My responsibilities extend to detailing documentation for these gameplay features, and for ironing out bugs and issues that might arise from the progressive integration of these features into the game. ## Contributions ### Minimax Class and Algorithm +The Minimax class and algorithm is the backbone of the CPU. It is responsible for determining the best move for the CPU to make, and is the core of the CPU's decision-making process. The Minimax algorithm is a recursive algorithm that searches through the game tree, and is used to determine the best move for the CPU to make. The Minimax class is responsible for the implementation of the algorithm, and is the class that is called by the CPU to determine the best move to make. I implemented the algorithm with SLAP and extracted helper functions to improve the readability of the code. -#### Loading and Difficulty - -### Move Validity +#### Difficulty +The difficulty of the game is determined by the depth of the Minimax algorithm. The higher the depth, the more moves the CPU will look ahead, and the more difficult the game will be. The depth of the Minimax algorithm can be set by the user in the savefile and when starting a new game. The maximum depth is set to 3, as the CPU will take a long time to make a move if the depth is set too high. -#### Castling +The difficulty is also saved in the savefile, and is loaded when the user loads the savefile. I implemented this feature by adding a new field in the savefile, and by adding a new parameter in the `Game` class to set the difficulty of the game. This was added in the style of the existing parameters in the `Storage` class. -#### En Passant - -#### Checking and Checkmate +### Move Validity +The move validity of the chesspieces is determined by the `isValidMove()` method in the `ChessPiece` class. This method is called by the `Game` class to determine if a move is valid. The `isValidMove()` method is implemented in the child classes of the `ChessPiece` class, and is responsible for determining if a move is valid for the chesspiece. -### Chess Pieces +I implemented this alongside various non-standard chess moves, such as castling and en passant in a manner that minimised code coupling and enabled other developers to have a more bug-free experience. -#### ChessPiece Parent Class and Child Classes -#### Scores +### Project Management +I solved bugs and issues that arose from the integration of the Minimax algorithm and the move validity of the chesspieces. I also managed the bug testing and checkstyle adherence, and delivered key features in a timely manner which allowed for other developers to have a longer runway for implementing their features. -#### Board Weights \ No newline at end of file +### Documentation +I documented the `Minimax` class and algorithm with a sequence diagram, as well as the `Move` class and the various types of moves available. I also added documentation in the user guide for castling and en passant, as well as the difficulty of the game. In addition, I polished and edited the user guide to make it more comprehensive about the various features ChessMaster has to offer. From 06c2aad0a339e9147d4c94f772d24bc098344747 Mon Sep 17 00:00:00 2001 From: onx001 Date: Sun, 12 Nov 2023 23:24:20 +0800 Subject: [PATCH 06/54] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d19d4ed61..dc1e1bd03b 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ A summary of user commands can be found in the table below: | Pieces legend | `legend` | | History | `history` | | Step back | `stepback` | -| Abort | `abort` | +| Exit | `exit` | Please visit our [User Guide](https://ay2324s1-cs2113-t18-1.github.io/tp/UserGuide.html) for further details on each of these commands. From d33f630fa25a71911b72fff323f588896ca3bba9 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Mon, 13 Nov 2023 00:29:25 +0800 Subject: [PATCH 07/54] Fix stepback on loaded game --- src/main/java/chessmaster/ChessMaster.java | 8 ++++---- src/main/java/chessmaster/game/Game.java | 2 +- src/main/java/chessmaster/storage/Storage.java | 9 +++++---- src/main/java/chessmaster/user/Player.java | 4 ++++ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/chessmaster/ChessMaster.java b/src/main/java/chessmaster/ChessMaster.java index 4fe2c39f4c..ecd863b2db 100644 --- a/src/main/java/chessmaster/ChessMaster.java +++ b/src/main/java/chessmaster/ChessMaster.java @@ -38,13 +38,13 @@ private ChessMaster() { playerColor = storage.loadPlayerColor(); difficulty = storage.loadDifficulty(); currentTurnColor = storage.loadCurrentColor(); + //@@author ken_ruster ChessTile[][] existingBoardState = storage.loadBoard(); - board = new ChessBoard(playerColor, existingBoardState); - + ChessBoard existingBoard = new ChessBoard(playerColor, existingBoardState); + board = new ChessBoard(playerColor); human = new Human(playerColor, board); cpu = new CPU(playerColor.getOppositeColour(), board); - - storage.executeSavedMoves(playerColor, board, human, cpu); + storage.executeSavedMoves(playerColor, existingBoard, board, human, cpu); board.setDifficulty(difficulty); if (shouldStartNewGame() && !exit) { diff --git a/src/main/java/chessmaster/game/Game.java b/src/main/java/chessmaster/game/Game.java index fb946269a6..24dee0042e 100644 --- a/src/main/java/chessmaster/game/Game.java +++ b/src/main/java/chessmaster/game/Game.java @@ -46,7 +46,7 @@ public Game(Color playerColour, Color currentTurnColor, ChessBoard board, Color cpuColor = playerColour.getOppositeColour(); this.cpu = cpu; - this.numMoves = 0; + this.numMoves = human.getMovesLength() + cpu.getMovesLength(); // Choose which player goes first currentPlayer = currentTurnColor == playerColour ? human : cpu; diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index 39956afa31..36f02b9117 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -224,11 +224,12 @@ public ChessTile[][] loadBoard() throws ChessMasterException { * @param cpu Object representing information about the computer-controlled player * @throws ChessMasterException */ - public void executeSavedMoves(Color playerColor, + public ChessBoard executeSavedMoves(Color playerColor, ChessBoard otherBoard, + ChessBoard board, Human human, CPU cpu) throws ChessMasterException { - ArrayList moveStringList = new ArrayList(); + ArrayList moveStringList = new ArrayList(); ArrayList humanMoves = loadHumanMoves(); ArrayList cpuMoves = loadCPUMoves(); @@ -253,8 +254,6 @@ public void executeSavedMoves(Color playerColor, throw new LoadBoardException(); } - ChessBoard board = new ChessBoard(playerColor); - //Execute move string Array board.executeMoveArray(moveStringList, human, cpu); @@ -280,6 +279,8 @@ public void executeSavedMoves(Color playerColor, if (!board.equals(otherBoard)) { throw new LoadBoardException(LOAD_BOARD_MISMATCH_STRING); } + + return board; } diff --git a/src/main/java/chessmaster/user/Player.java b/src/main/java/chessmaster/user/Player.java index 6f61b60c60..8b46fba337 100644 --- a/src/main/java/chessmaster/user/Player.java +++ b/src/main/java/chessmaster/user/Player.java @@ -110,4 +110,8 @@ public ArrayList getMoves() { public ArrayList getPieces() { return this.pieces; } + + public int getMovesLength() { + return this.moves.size(); + } } From 9df3942bdfae9db33e364f9738f2a73d9e8dd2b9 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Mon, 13 Nov 2023 01:08:26 +0800 Subject: [PATCH 08/54] Add tests for parsePromote --- .../chessmaster/parser/ParsePromoteTest.java | 57 +++++++++++++++++++ .../java/chessmaster/parser/ParserTest.java | 20 ------- 2 files changed, 57 insertions(+), 20 deletions(-) create mode 100644 src/test/java/chessmaster/parser/ParsePromoteTest.java delete mode 100644 src/test/java/chessmaster/parser/ParserTest.java diff --git a/src/test/java/chessmaster/parser/ParsePromoteTest.java b/src/test/java/chessmaster/parser/ParsePromoteTest.java new file mode 100644 index 0000000000..f0c251c575 --- /dev/null +++ b/src/test/java/chessmaster/parser/ParsePromoteTest.java @@ -0,0 +1,57 @@ +//@@author ken-ruster +package chessmaster.parser; + +import chessmaster.game.Color; +import chessmaster.pieces.*; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class ParsePromoteTest { + + @Test + public void testPromote_inputValidPiece() { + ChessPiece promotedQueenWhite = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), "q"); + assertEquals(promotedQueenWhite.toString(), Queen.QUEEN_WHITE); + + ChessPiece promotedQueenBlack = Parser.parsePromote(new Pawn(0, 0, Color.BLACK), "q"); + assertEquals(promotedQueenBlack.toString(), Queen.QUEEN_BLACK); + + ChessPiece promotedRookWhite = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), "r"); + assertEquals(promotedRookWhite.toString(), Rook.ROOK_WHITE); + + ChessPiece promotedRookBlack = Parser.parsePromote(new Pawn(0, 0, Color.BLACK), "r"); + assertEquals(promotedRookBlack.toString(), Rook.ROOK_BLACK); + + ChessPiece promotedKnightWhite = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), "n"); + assertEquals(promotedKnightWhite.toString(), Knight.KNIGHT_WHITE); + + ChessPiece promotedKnightBlack = Parser.parsePromote(new Pawn(0, 0, Color.BLACK), "n"); + assertEquals(promotedKnightBlack.toString(), Knight.KNIGHT_BLACK); + + ChessPiece promotedBishopWhite = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), "b"); + assertEquals(promotedBishopWhite.toString(), Bishop.BISHOP_WHITE); + + ChessPiece promotedBishopBlack = Parser.parsePromote(new Pawn(0, 0, Color.BLACK), "b"); + assertEquals(promotedBishopBlack.toString(), Bishop.BISHOP_BLACK); + } + + @Test + public void testPromote_inputEmpty_expectReturnPawn() { + ChessPiece promotedEmptyWhite = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), ""); + assertEquals(promotedEmptyWhite.toString(), Pawn.PAWN_WHITE); + + ChessPiece promotedEmptyBlack = Parser.parsePromote(new Pawn(0, 0, Color.BLACK), ""); + assertEquals(promotedEmptyBlack.toString(), Pawn.PAWN_BLACK); + } + + @Test + public void testPromote_inputInvalid_expectReturnPawn() { + ChessPiece promotedEmptyWhite = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), "isdjncv"); + assertEquals(promotedEmptyWhite.toString(), Pawn.PAWN_WHITE); + + ChessPiece promotedEmptyBlack = Parser.parsePromote(new Pawn(0, 0, Color.BLACK), "jasdnc"); + assertEquals(promotedEmptyBlack.toString(), Pawn.PAWN_BLACK); + } + +} diff --git a/src/test/java/chessmaster/parser/ParserTest.java b/src/test/java/chessmaster/parser/ParserTest.java deleted file mode 100644 index c51fb36852..0000000000 --- a/src/test/java/chessmaster/parser/ParserTest.java +++ /dev/null @@ -1,20 +0,0 @@ -//@@author ken-ruster -package chessmaster.parser; - -import chessmaster.game.Color; -import chessmaster.pieces.ChessPiece; -import chessmaster.pieces.Pawn; -import chessmaster.pieces.Queen; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class ParserTest { - - @Test - public void promoteTest() { - ChessPiece promoted = Parser.parsePromote(new Pawn(0, 0, Color.WHITE), "q"); - assertEquals(promoted.toString(), Queen.QUEEN_WHITE); - } - -} From 579fcfb29a7bab5126c28d4cd78752c6de3c63fb Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Mon, 13 Nov 2023 01:59:14 +0800 Subject: [PATCH 09/54] Add test for showMoveCommand --- .../commands/executeShowMovesCommandTest.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/test/java/chessmaster/commands/executeShowMovesCommandTest.java diff --git a/src/test/java/chessmaster/commands/executeShowMovesCommandTest.java b/src/test/java/chessmaster/commands/executeShowMovesCommandTest.java new file mode 100644 index 0000000000..973fab8f3c --- /dev/null +++ b/src/test/java/chessmaster/commands/executeShowMovesCommandTest.java @@ -0,0 +1,53 @@ +package chessmaster.commands; + +import chessmaster.exceptions.ChessMasterException; +import chessmaster.exceptions.NullPieceException; +import chessmaster.game.ChessBoard; +import chessmaster.game.Color; +import chessmaster.game.Game; +import chessmaster.storage.Storage; +import chessmaster.ui.TextUI; +import chessmaster.user.CPU; +import chessmaster.user.Human; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.*; + +public class executeShowMovesCommandTest { + private static final String FILE_PATH_STRING = "data/ChessMaster.txt"; + private static final String[] AVAILABLE_COORDINATES_STRING = {"Available coordinates for Pawn at e2: ", "e3 e4 " }; + private static final String[] NO_AVAILABLE_STRING = {"There aren't any moves available for King at e1!"}; + private static final String AVAILABLE_COORDINATES_INPUT = "e2"; + private static final String NO_AVAILABLE_INPUT = "e1"; + private static final String NO_PIECE_INPUT = "e4"; + + public Game loadGame() { + ChessBoard board = new ChessBoard(Color.WHITE); + Human human = new Human(Color.WHITE, board); + CPU cpu = new CPU(Color.WHITE, board); + Storage storage = new Storage(FILE_PATH_STRING); + TextUI ui = new TextUI(); + Game game = new Game(Color.WHITE, Color.WHITE, board, storage, ui, 1, human, cpu); + return game; + } + + @Test + public void testShowMoves_inputValid() throws ChessMasterException { + Game game = loadGame(); + + ShowMovesCommand commandHasPiece = new ShowMovesCommand(AVAILABLE_COORDINATES_INPUT); + ShowMovesCommand commandNoPiece = new ShowMovesCommand(NO_PIECE_INPUT); + ShowMovesCommand commandNoMoves = new ShowMovesCommand(NO_AVAILABLE_INPUT); + + String[] hasPiece = commandHasPiece.execute(game).getMessageStrings(); + assertArrayEquals(hasPiece, AVAILABLE_COORDINATES_STRING); + + String[] noMoves = commandNoMoves.execute(game).getMessageStrings(); + assertArrayEquals(noMoves, NO_AVAILABLE_STRING); + + assertThrows(NullPieceException.class, + () -> commandNoPiece.execute(game).getMessageStrings()); + } +} From 6f3df81b9ab6a0a1beda723f60b8f3d5d7268ea8 Mon Sep 17 00:00:00 2001 From: onx001 Date: Mon, 13 Nov 2023 17:19:18 +0800 Subject: [PATCH 10/54] Update Documentation Added sequence diagram for move execution and updated general docs. --- CONTRIBUTORS.md | 1 + docs/DeveloperGuide.md | 7 ++- docs/UserGuide.md | 37 +++++++++++-- docs/diagrams/MoveSequence.puml | 52 ++++++++++++++++++ docs/images/MoveSequence.png | Bin 0 -> 44755 bytes .../java/chessmaster/game/ChessBoard.java | 34 +++++++++++- 6 files changed, 124 insertions(+), 7 deletions(-) create mode 100644 docs/diagrams/MoveSequence.puml create mode 100644 docs/images/MoveSequence.png diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 8e359a0145..e5d3d02102 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -4,6 +4,7 @@ Display | Name | Github Profile | Homepage ---|:---:|:---:|:---: ![](https://avatars0.githubusercontent.com/u/22460123?s=100) | Jeffry Lum | [Github](https://github.com/j-lum/) | [Homepage](https://se.kasugano.moe) ![](https://avatars0.githubusercontent.com/u/1673303?s=100) | Damith C. Rajapakse | [Github](https://github.com/damithc/) | [Homepage](https://www.comp.nus.edu.sg/~damithch/) +![]() | Ou Ningxiang | [Github](https://github.com/onx001/) | [Homepage](https://github.com/onx001) # I would like to join this list. How can I help the project For more information, please refer to our [contributor's guide](https://oss-generic.github.io/process/). diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index c9c4245a94..e1d7d29d5e 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -70,6 +70,7 @@ How does the Game component work: ### User input handling Below is a class diagram representing the Command and Parser classes. + ![](images/ParserCommandDiagram.png) In order to handle user input into the program during the game, the `Parser` class was implemented. @@ -120,6 +121,7 @@ How the minimax algorithm works: ### Move types The Move class and its subclasses are responsible for handling the different types of moves in chess. The Move class is an abstract class that is extended by the following subclasses: StandardMove, PawnOpening, CastleMove, EnPassantMove and PromotionMove. The Move class is also extended by the following classes: CastleSide, Direction, MoveDirection, MoveType and PromotionPiece. Below is a class diagram representing the Move class. + ![](images/MoveClass.png) #### Standard moves @@ -132,6 +134,9 @@ How standard moves are generated: 4. Any chess piece that "blocks" the path of the chess piece is checked for colour. If the chess piece is of the same colour, the chess piece cannot move past it. If the chess piece is of the opposite colour, the chess piece can capture it. For example, a rook can capture an enemy chess piece in the up, down, left and right directions. (Note that pawn moves are an exception to this rule. Pawn pieces can only capture enemy chess pieces in the forward diagonal directions.) 5. Special cases such as castling, en passant and promotion are also encoded as `directions` and executed separately with different move functions. +Below is a sequence diagram representing the process of generating and executing moves. + +![](images/MoveSequence.png) #### Pawn Opening A pawn opening is a special type of move that involves moving a pawn from its starting position to another tile two spaces ahead. This move is only valid if the pawn is in its starting position and the tile it is moving to as well as the tile in between is empty. @@ -146,12 +151,12 @@ En passant is a special type of move that involves capturing a pawn that has jus Promotion is a special type of move that involves promoting a pawn to another piece. This move is only valid if the pawn is in the correct position, which is at the other end of the board from which it starts. This information is implemented in the Pawn class and executed with the PromotionMove class. - ### Storage Component **API:** Below is a class diagram representing the Storage class. The Storage component is responsible for handling the storage and retrieval of chess game state. + ![](images/StorageClass.png) ![](images/StorageSequence.png) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index f2591f041a..0c93a8831c 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -230,6 +230,33 @@ Format: `show` Expected Output: +``` +_________________________________________________________________ + +Here is the current board state: +_________________________________________________________________ + + (a) (b) (c) (d) (e) (f) (g) (h) + _________________________________ + (8) | R | N | B | Q | K | B | N | R | (8) + _________________________________ + (7) | P | P | P | P | P | P | P | P | (7) + _________________________________ + (6) | | | | | | | | | (6) + _________________________________ + (5) | | | | | | | | | (5) + _________________________________ + (4) | | | | | | | | | (4) + _________________________________ + (3) | | | | | | | | | (3) + _________________________________ + (2) | p | p | p | p | p | p | p | p | (2) + _________________________________ + (1) | r | n | b | q | k | b | n | r | (1) + _________________________________ + (a) (b) (c) (d) (e) (f) (g) (h) + +``` ### Show chess rules: `rules` @@ -275,7 +302,7 @@ Further details of special rules - Move your king two squares to the right/left (towards the rook). - The rook will jump over the king and land on the square next to the king. - Example: `moves e1` + Example of castling availability: `moves e1` Expected Output: @@ -374,7 +401,7 @@ Further details of special rules (a) (b) (c) (d) (e) (f) (g) (h) ``` - Example: `moves d5` + Example: `move d5 e6` Expected output: @@ -385,9 +412,9 @@ Further details of special rules _________________________________ (7) | P | P | P | P | | P | P | P | (7) _________________________________ - (6) | | |[N]|[.]|[.]| | | | (6) + (6) | | | N | |(p)| | | | (6) _________________________________ - (5) | | | |{p}| P | | | | (5) + (5) | | | |( )| | | | | (5) _________________________________ (4) | | | | | | | | | (4) _________________________________ @@ -574,7 +601,7 @@ to simulate timed games. **Q**: Can I draw by repeating moves? -**A**: ChessMaster does not currently support draws by repetition. However, you can use the `abort` command to end the game. Alternatively, you can maneuver the game to a draw by stalemate, where neither party can move without being in check. +**A**: ChessMaster does not currently support draws by repetition. However, you can use the `exit` command to end the game. Alternatively, you can maneuver the game to a draw by stalemate, where neither party can move without being in check or there are only kings left on the board. ## Command Summary diff --git a/docs/diagrams/MoveSequence.puml b/docs/diagrams/MoveSequence.puml new file mode 100644 index 0000000000..ec7ed18939 --- /dev/null +++ b/docs/diagrams/MoveSequence.puml @@ -0,0 +1,52 @@ +@startuml MoveSequence + +actor User as user #BlanchedAlmond +participant ":Game" as g #LightGreen +participant ":UI" as ui #LightBlue +participant ":MoveCommand" as mc #LightCoral +participant ":MoveFactory" as mf #IndianRed +participant ":ChessBoard" as cb #LightPink + +user --> ui : move coordinates :String +activate ui +ui --> g : move coordinates :String +deactivate ui +activate g +create mc +g --> mc : inputString :String +activate mc +g -> mc : execute() +mc --> g : move :Move +deactivate mc +destroy mc +g -> cb : move :Move +deactivate g +activate cb +cb -> cb : isValidMove() +cb --> cb : :boolean +alt Move is valid + create mf + cb -> mf : createMove() + deactivate cb + activate mf + mf --> cb : move :Move + deactivate mf + destroy mf + activate cb + cb -> cb : executeMove() + cb --> g : board :ChessBoard + activate g + g -> ui : printChessBoardWithMove() + deactivate g + activate ui + ui --> user + deactivate ui +else Move is invalid + cb -> ui : :InvalidMoveException + deactivate cb + activate ui + ui --> user + deactivate ui +end + +@enduml \ No newline at end of file diff --git a/docs/images/MoveSequence.png b/docs/images/MoveSequence.png new file mode 100644 index 0000000000000000000000000000000000000000..67481e64b4ab348daee9271aa660376718f6d03d GIT binary patch literal 44755 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 oCa_7u|G4)e)< pieces = new ArrayList(); + for (int row = 0; row < ChessBoard.SIZE; row++) { + for (int col = 0; col < ChessBoard.SIZE; col++) { + Coordinate coor = new Coordinate(col, row); + ChessPiece piece = getPieceAtCoor(coor); + if (piece.isSameColorAs(color)) { + pieces.add(piece); + } + } + } + return pieces.toArray(new ChessPiece[0]); + } + + public boolean isKingAlive(Color color) { + ChessPiece[] pieces = getAllPieces(color); + for (ChessPiece piece : pieces) { + if (piece instanceof King) { + return true; + } + } + return false; + } + /** * Check if the player of the specified color is in check. * @@ -391,7 +420,10 @@ public boolean canPromote(Move move) { } //@@author onx001 - public boolean isEndGame() { + public boolean isEndGame() throws ChessMasterException { + if (!isKingAlive(playerColor) || !isKingAlive(playerColor.getOppositeColour())) { + throw new ChessMasterException("King is dead!"); + } return isCheckmated(playerColor) || isCheckmated(playerColor.getOppositeColour()); } From abb14468d3b3aff1fd5b4458b7da153bdcf49a12 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Mon, 13 Nov 2023 17:38:52 +0800 Subject: [PATCH 11/54] Update puml in Developer Guide --- docs/DeveloperGuide.md | 47 ++++++++++++++++++-------------- docs/UserGuide.md | 3 +- docs/diagrams/StorageClass.puml | 35 ++++++++++++++++++++++-- docs/images/GameSequence.png | Bin 49483 -> 50193 bytes docs/images/StorageClass.png | Bin 18656 -> 60552 bytes docs/team/triciabk.md | 9 +++--- 6 files changed, 66 insertions(+), 28 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index c9c4245a94..c49f7c5a18 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -40,8 +40,6 @@ Our application also uses other classes to store information about the chess gam ### ChessMaster component - - The sequence diagram below illustrates the interactions within the ChessMaster component, when they launch the program. ![](images/ChessMasterSequence.png) @@ -50,12 +48,12 @@ How does ChessMaster component work: 1. Attempts to load previously stored game in storage 2. If previous game exists, asks the user if a new game or the previous game should be loaded. -3. If a new game is selected, the user will be prompted for the color to start. +3. If a new game is selected, the user will be prompted for the color and difficulty to start. 4. Start running the new or previous game instance. ### Game component -The sequence diagram below illustrates the interactions within the Game component, taking a move of "a2 a3" as example. +The sequence diagram below illustrates the interactions within the Game component. ![](images/GameSequence.png) @@ -156,17 +154,25 @@ The Storage component is responsible for handling the storage and retrieval of c ![](images/StorageSequence.png) -* Creates the necessary parent directories for the file and the file itself if they don't exist -* Saves the current state of the ChessBoard to the file. It includes the player's color information and current player's turn as the first line and the state of the chessboard in an 8x8 format. +Here is a brief overview of how the storage handles the data storage: +1. In the text file, the following contents are stored in order, each taking up a line: + 1. Player's color information + 2. Game difficulty + 3. Color of the next player (the color to be played upon the loading of game) + 4. Human player's past moves in the form of comma-separated string + 5. CPU's past moves in the form of comma-separated string + 6. State of the chessboard in an 8x8 format, taking up 8 lines. + +2. Creates the necessary parent directories for the file and the file itself if they don't exist * Allows resetting the game by clearing the contents of the file. * Loads the state of the chessboard from the file by constructing a 2D array of ChessTile objects. ## Product scope ### Target user profile - 1. Novice players trying to practice chess and play chess offline without a chess set. 2. Time-poor users looking for a very simple, clean, gimmick-free chess application. + ### Value proposition - Chess novices can use ChessMaster CLI to learn the game's rules and practice their skills. - Busy students can open the application up in their terminal easily for a quick game of chess. @@ -174,19 +180,20 @@ The Storage component is responsible for handling the storage and retrieval of c ## User stories -| Version | As a ... | I want to ... | So that I can ... | -|---------|------------|--------------------------------------------------------|--------------------------------------------------------| -| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | -| v1.0 | player | do only valid moves | play chess properly | -| v1.0 | player | start a new game | play chess multiple times | -| v1.0 | player | see the current state of the chess board on every turn | think about what move to play | -| v1.0 | player | tell which symbol represents which piece | know what is where | -| v1.0 | player | specify move coordinates | move the piece I want how I want it | -| v1.0 | player | promote pieces when the option is available | play extended games properly | -| v1.0 | player | have the option to abort the game | leave the game when I no longer want to play | -| v1.0 | player | save and get back to a game | leave when I am busy and resume a game when I am free | -| v2.0 | new player | see available moves for a piece | learn the rules of chess and valid moves | -| v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | +| Version | As a ... | I want to ... | So that I can ... | +|---------|-------------|--------------------------------------------------------|--------------------------------------------------------| +| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | +| v1.0 | player | do only valid moves | play chess properly | +| v1.0 | player | start a new game | play chess multiple times | +| v1.0 | player | see the current state of the chess board on every turn | think about what move to play | +| v1.0 | player | tell which symbol represents which piece | know what is where | +| v1.0 | player | specify move coordinates | move the piece I want how I want it | +| v1.0 | player | promote pieces when the option is available | play extended games properly | +| v1.0 | player | have the option to abort the game | leave the game when I no longer want to play | +| v1.0 | player | save and get back to a game | leave when I am busy and resume a game when I am free | +| v2.0 | new player | see available moves for a piece | learn the rules of chess and valid moves | +| v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | +| v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | {more to be added} diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 98a066b598..700273ded2 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -525,8 +525,7 @@ and type `y` when prompted to load a saved game. **Q**: Can we play timed games? -**A**: ChessMaster does not come with an internal timer. However, you are able to use your own chess timer or stopwatch -to simulate timed games. +**A**: ChessMaster does not come with an internal timer. However, you are able to use your own chess timer or stopwatch to simulate timed games. **Q**: Can I draw by repeating moves? diff --git a/docs/diagrams/StorageClass.puml b/docs/diagrams/StorageClass.puml index a3153ecba6..8567863b27 100644 --- a/docs/diagrams/StorageClass.puml +++ b/docs/diagrams/StorageClass.puml @@ -3,14 +3,29 @@ hide circle skinparam classAttributeIconSize 0 class Storage { - filePathString: String + - storageFile: File + - blackPieceNum: int + - whitePieceNum: int + - blackKingPresent: boolean + - whiteKingPresent: boolean + - fileScanner: Scanner + - lastMove: Coordinate + Storage(filePath: String) - + saveBoard(board: ChessBoard, playerColor: Color): void + + saveBoard(board: ChessBoard, currentColor: Color, human: Human, cpu: CPU): void + resetBoard(): void + loadBoard(): ChessTile[][] + + executeSavedMoves(playerColor: Color, otherBoard: ChessBoard, human: Human, cpu: CPU): void + loadPlayerColor(): Color + + loadDifficulty(): int + + loadCurrentColor(): Color + + getFilePath(): String + + loadHumanMoves(): ArrayList + + loadCPUMoves(): ArrayList + - isPieceValid(initialPiece: ChessPiece): Boolean - createChessMasterFile(): void + } class ChessBoard { @@ -21,8 +36,24 @@ class ChessTile class Color -Storage --|> File +class Coordinate + +class Parser + +class ChessPiece + +class Human + +class CPU + Storage --|> ChessBoard Storage --|> ChessTile Storage --|> Color +Storage --|> Coordinate +Storage --|> Parser +Storage --|> ChessPiece +Storage --|> Human +Storage --|> CPU + @enduml + diff --git a/docs/images/GameSequence.png b/docs/images/GameSequence.png index d4fa0de77c9a57968f526ebc60554cd37920ff2a..726c8214db2056835722b96cd85fae3aaac86852 100644 GIT binary patch literal 50193 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 literal 49483 zcmeFZWn5Kl*FB0LARsLuEl5aPfOJcVgfvK_gp_n{5s*?kq(M-T5W!8SbVx``r{tzP z&$R$=K?1okr_}6(Tz*W3WmDTNjzK(PbT*fJWSVhii;yPZr)`ZZ@F=Ss=ixO%joJ?db zdo535&JNjp^zg4}nf?j9Tmwh@L5TAvVx_J+m+&7SjFinZ)mCI-_ti(CYOfOzy5(Ja zu$W6V`9YCPmD6mDQ{9pJ9wvJi_M^!+$~PBs1Bz&gh@#Qry!$o-z3x?(MSJ0 z7JJiKd)oK^snU`M#u%p-U>C`OnK2E8c(91@=7#?Xyx!`dvT)Ek4C0d@5Q2&aET)~(} zTg9Z6C6-vXvN4>c{(5#>YCC@1w_?3HcZF1GE|s+8B*V2P9i%ihtT9=BEj}cqXGqfG zBFauWiwPJ`mn8O%(Yeu!2`_jL(Re?gi5GoFq;?5Uh`KN}C*RePV@W!I|g!XO|pEHK*sKt3_H zFvDd&+dD)4k<0Ts=u{ykV-Pz-Kar|9g~5%07w|i9pr0n^;V95gvXoE<3PHD>Y*e1_ zwvUb4oqgQs?Fm91p%eJ*gH5qR{2d$Gg~+C5HuwC+Sse3K4^62AajAHCGdlF=RcS@4 zd^m20qZ%CYMNbWauTgZ0PNYR{gyKS1e@1GP0$t#_I;uH&p6K2fCoc3igw`nzU!8X8 zU2|-uu;#>En$e+OuCgnV;q%xT_swsa`5dPIIV3Ty@_+!mfpneZV`q?$RXKaPZ-lOt ze5bAl2K4f4EHzWfts&AZ9qWJ&YUq`B^~M7?9+NE)$J1^=w+9vw<1p59vf!bhOgPH6 z1N3XcFTnpM89`;?*+n%|Um{rHNh}H{MG;lHOsLT7mq^TfiH;eupx>thYs}iAHi7=Y z8Y|iyeR^fQ#)_@6DUomT`{Tqby3z^aQwh*->Y3f{#0gzoeByio`e)*~vml>CK>vJp z_rL7H&$rXxQ7-gmx2Ou6nPu=BVLj#CC4~O2Y7D%A*;JoN30>qp^8eYz{+G}CfA+RX z24&^((SDUDN|T!NN$~iQ5b()hp`+Kl_VZu7(3{khqPb7Dbdx^I!xhj@9jb`>azLF1Iakah@0RIYOU(2r)&_T%et+giM zG{%n{=iC}np^Cd>Tm99!r)}M_72k?qN(eeGmScs!rp-+k2LUwqXVa$$k0SmL*x5YQ+SR}IkQ!W zu%sq13s+qjU&Q(LPxPJ;l1U#|9sONVZ9fg%O&)9 zfjybB84E7wt4*+;1}f$NnMz1-YA{e+u@$V5_3;Unc+SvEsg4TA;E12QJ3<^5EI}d5L$d08ZGaC9Ev?5 zAfzizw-Qzu6bzQ%U3ATrcA(@E4P+izU1}E++8MId$H&(Z6b$wEm%pD_R#Eht%Xxn< z?{HXYBb|~(HA`Uu250P}Q45#MmpC4v>1|mnWF<}5?N2(cKD+l62fUe;^$fX+fY3#q zb!0c>5z0@oh{XV8L^=j$eyUsXTb20f)-O@vR$3mq`nyx~viB%kTuHgL5DDKoIVK{H z)eV_644iX=>3QytNJbiPpsK(P_dX_(-L_m^spSb5;<;nE%~3-xGf{@MGvB9OU4CtMp_Lgxy$*rDDn(P;_y@S zhcycraJlcr%ps;#1{>ZRb`jID>&!>Kf8mYpd;3D>Et{(FJ}%fJ+pH|Gi$1B8Q{*(g z zee-MQ?arr?Y=PTJtmF-9_OA3j1XM<*cxEyEeNQbmTgP6kiWUxxL8nKdET!;DdN>h3GG*OnV zKE6gbua;mDUKJQ6WrES>-pQsU_NTU!Z&?hzp)s&GG_h%u&HG6}x@llNGZ^-)l_3sa zGrkumu$Ixytk2`PPq)sOrDC7`4uAX>J`FB+yug0HHwH+#G+2x4Qq$q+ajk6Y-fU`z z%jVKzrw_k&k>m0(uAn;i&CZqv#&^=;(If6^WouRbgkJOA7{Ngvf_z%Mo(+umFMibG zhI<@#=NhiJ$Ky|SA|tGMC=emUSd+vC-WG4_Ou_%RAO;jGJjn4;HLbeRR|n@NIV^XI zSYa($Uuv!{bQAerEXhIlr`C;>q#~HP^26p(H)%#LG4T?S+i zwxA{Lhd~M!7Ep!8O?=_%beObJ%k@X2$9E5-d$qc)j+%Af9dQ^Q!@4S6Qr3%H&TZCu z;&Ly1wlbm##nt5)mDJo|q#T)FN4tSL;91nNv9H5KwmDioQyG6)bx-MW(k!}(WGl!| z_z{C*Gpj6HPRbT)-W5x?4o%EOncn=i|J;5fry5zq_sVS%;#;@#V)Cv(+uR{pU(O zFf+79ABDGGV7qVb3$Nug-}(wST|PRvHE0yt_$4GO>+$1O&HX{Ew2O&1QuiOo`@5G2 zY+c5Wemm+WM#WHI7P&Q_IYm=E_Ta%gJh_zNyXCt-P~?Tm=Y6UDqUnb0qn)O61BqX~ z7J?1?6K3L2Gq_77B-GzE@kP5V#mAmCx;OtRG9$YnBb0Xx84@>R4m9daW zjxxH1(OlEOb!V+wU&lIbIFG7oGUdDyA>xzTk=2H$W|ZbcRr?Fe_aaK8t3xve@v33u z@ByJb1&YBmOT(?_Lc)AzFGLY5+qv56?6?6EJ5kb>#drli%`y#iExT`3R!a>mRja*N zStJ`d3~pUZRb>+~HX*!0V{i-Z;Sx$Os4W;3(Zb?GGx0Xyhbm{jJp5p*w{`D*xR0ts zkqSLxpxn* z7sx%ylY)EoW86T|)ZIPY-ZU_*6UA>>Q_uYv6IZJqb9vYg#R843uySDahn{TUY#hGsa)zUYltkGbCfy3!vg0*% zMp=Wy3>G|QRn<)zTKmo3729H!VIv75#LDV=lEw}>`FkIBoRnTl$Me0}eKebMAU_G> z`r8(Xex#>SlCz8o@9u9QYilkJy{u$~Qt+C=J~cOVZ{^xjIce%QB%PV~ zHqK9~z1a`<3FGi{#ujE69bC6(lIom&}Zr}@=sRq|pU0V9=&<(<^vVz(7k<@+y-)SVU)SkrL$dL_!=EMqln}y2!<$4k!{{GLu|z zYRT=h3XI?=%%XJv%zjW4aoZo)%WTx4Q&#qyc1siq+rwD(`ppScW3`GM-0>i6P28=_ zPMkO5jzcaghTpBn1!9M0SY6*?al84cg*=qWpq$FfQ_TekBvfwMWmWe$@~)pc{|!f` zY^}xDwed2#F}eFBtK%=9Pfl1+=e>z?kZM_E)0&9oOtlXb=R5FvE{i*CmwaYQRj>8GvBKF1PiorJq=X@Xl7Q}#cZN&n@f%(Sy;!{>E$NG zXjz2RMx^v}7L(|yS+JTl<=L`I)KV>~Ev)i(Tt>4by_L&d*I=+h*AJ!S7;34T&rR1( zqO*;CyigPVL+0v-2T#d{-El#9%q5jSN2QJ&D!aYT{SiLQ$}-ftet9nfb(aoS?v~%cJ7g*q8gZY;ZPF84mq>i_hzr&82Mz}GW3Ra zj_3(7rK#_V*n@|)e%HE#qL(U4Rmxp<-S?L~Cj7UlU9J`Dl$$a!!J8%+5K;jFItjal z0Wc3yH(H(>(u+*wowV%w!?Il;EsmZ{Dvw`fyIo|`jrH00B8P5ewiCklGaBylNJ&C# zZXSfGeFj!lleiDc%w$`=y5CZNc!m2auFrOfJGEkD$H?QeiyT`(zTuvG&Ov@l5en%( zX43JRPurxD0iVBn+F3fzDanRQwV2CeN!owE*%E6fJ1jh2esO>qh|mr>ir~ z25#smey5X8Dn{|iZO|#SBiMRBs9EwxzWf@HOc@@N#!{oT@5xid(zAs7aZHh0BA*oB5XFZ84s zF2oo88k2CCLdWyr(hn9d8=FE$lwz%C65zqp4hX+{_b5tD@K;~&Cc)Ut?d=Z2=y8K7 zc8@qJ@pesy3bHR#-+&z@e|R7r&)))i7<|50&V@5qm`@u=l8?1;zt(#TVd(YT?P%kD zQF1a<0`K<)2IBYmV(RKz_8Q-BEVuGalJD*JGPLDBs=k!_{z>CfyhNH;U(%7dP^YLD z%xz;gtsyakoPuI@rmxU&hR~d={~x$9y~V9M+aT|qP)eW_eMB0(jaJrGWJ!RJKSA-m z{D;5cTasLjW6Q;3fl+-Y6NCcH>Uf{vcx`&+*za`v?hMcz*oN~T%we}wU6L)=8y5^_ zmt#$m&mDZ=w$nh?lIDvlf{|r0H`x1h0ui@5+=WWBve(rrpJV-;Hs1_GUM}9t@43?| zhP(HmWHmBtuwx!Y`6g9IP_$2}+@ZU7CcXdx*U&Chu{m60du*EXK5HZ4da30TF%Igam7>~iCY~qgr;w4TmxM%UwNqA{ zq_NAVH*?$CrDSKKp)03MiSJ5sLFI9M^S;ntFcl>p0l{Umfz43K+GzH)=mGUznY-Gb zA60mG)bjY5Nok=QJwkioBT?J%zH$}KnVpO-T8@&NJ^eoAnmDD)=3YaJSZAhx-Q|H? z{TehYtL1@wbH~Mgn}#4t179^AXL^4AG7&E{LdN@L4v5%00UQ2)ezU#Vas6Gdtl_CI z06^-n@N`JWlH{{fNv7oVOr^ZmOJ?F*58kl0(xBPB^0M0CBH~J$$k)le%>`#?XK88a z+eI#$^Adr?he!L%b#-+u(HxBSHr>f0UhFz$P6shYkWE0S^>p3*mzBGlK z2T{5@O*I~+-pzHt18y9jimKx2bn_s2HYJ|}KkTS%XXRt*(i@_i8R_X#FH0%^=F;=V z_3z}QEe3YFKT=XqjXbWsK%b-&N^EG-@S`^Jma6U$ z;MUGipx`xx&m303zpNxA2fn?Ni*w)K^2gm?8Xo-kkWad_>gaG^BGY8JWV2o9*v+*R zaB-k+{iYaDnl`+V2vky1syN&l33O7%KWUIHrGE4_<;8T%Ok!O7;g4+B?cvtXGoK|(En9Zw zlFAYVbQ96i&n@S;SbYyKUc8Z$`Bbm^D86#0@jcF^&z5paKPr0+gS9RxwN*Y?-dv1X zqYwYISDt@$)FUYp=~c_nbHnu?l?+Mo-kj!r_jOC7fCQwr=5fTc&#Chc=N#fw%M7*q z#@grh`_2;>`OR?sn!LxY%q%S7LS2Z(gYC!b403IW*QJk*kETB4lmpp}^ql0b!NN>e z*E>1#g8)IA?hzDSaN9mdjeCG`L$3LSthhPi`cNx}%yn_4 z7q988@pqO`1gUli4Pqm(qy2gZAPE>L81?k$t7oTj^3`NWm__Qikey#+&0Trz3!XHo zL0FZ!UXQYk{^#8$ z6L;W@;ZYR{y=E}3p$DD(+}R(3&-7iXI{b1Hk$)DEjtWP)*PN85!aZRo3C?ze%$VXjdV-t{rv=(#qp31P4*gC+}O<^Y9aOv zRC&I}FHcSun|=229J?4^0g6@yvg2ron!@KXkBHKhmdX#oQftT8S&8J*ca~g=f zRj3=wqoewWE4~{%U9021)M4F%#|O5~ZAhpgdZZV*HQ|A04rdb zpj%(S9ij$%*hc8-FeDDWH4_as|Mv(aFit#0q?b9?(gx4tnxJ3j{uP`AMr1^hf9imK z?u9z49*@34%lrcK$Jq}DH48t2E|Db}+|1W~o|ikfUyN7UL!PPG75O0)5Jd#TBf)<@ zRTiE`^tyM@3I|!|Rc$=k`H)`C! z(z!DCzPHBLN2=UK)Z2}I(|tc{umB_SeuB52LWlwfTcnQsGs^o()6~bGJPtQoT`WIt zR-H=`g+E&vvK4i2z*$%t7NzIRH;YiOZOk(km0z7Gcg5P=9wB5EUo>5R&gF`12qKR( zdrmI@s-R$EHw=u2mMf1FmBYfqc5HZ~&f`)G-eXo&RJ{F>{r(-_&0Z0Y>442(A#a&% zP0^KT-7G>zO|60~-Z<9{Jm!&+-b4YP2bF2!7tqi!zubD9@llNLb4}gjVw=fFhilUr zC7V&be)OzaW)YWc7B?4EvT0~U-@d7KnN#8Y# zi;hc`mg7)cTia2jc?UtE%7@P5uA;ZUl_53LCOWNqT(a9Hr5%rVFhw}t6S_2dSj88bBN46GLSHusg3 zyfH44tG1%T_N0rlReDdtYkeVMG-?*}0? z1O%PsuG?27gF2jAKcv_y2et`Sir)aGUsIUxnV8eqkzQ1s;8~GJxmg}4m76U3N9!XL8j=3X-(;hse;@L&Bt3j zNDL^TeRQCJ*9Xaw^e#ZnL!c@En#U4CqrKU4s&wGB*LWw{_K7wn-(mLP2g%H7NBXm1 z>Pv{4BRX~^-Q#OcdX6w#GG!GFzcuV+4cOo-q-n_%$AlGTq^$l43*5f zK#~@|IV96q#6bRj34v0m-KsWp(-F(K??6-g^NMl0@nZXFX^iYFq)%$+8|eT}=QHnR zT^$FQjn8iOifJE~K`gl41U|=io9quuLNL_q*OdSDa#mwXZHWS|%jMg5#l@kuO~h!b zsz$}eLfKRaJH{emS7!;7a zEtUKA+Y<$tn3&F;J4aVx*28Sm9Y!xp#%V@}(9qU)1ECMaVAU$PchC0g>l-Yo2+6{c5Vseg!V2w}~bCA3!Vs>`6vr|cl$7Lhk>0Nz81EItf zqKWhV{{FYGsl3w6H}kjGnDRuYnjI`$W=wK>I@d{`+cSbHpCl-^aCCGurA@LgD=j6J z%<&Y@*U#TSMZ|`+nDql#lAnzarT9mk^5&p7_L}}LUmk4s>1G#lD4LjGH`WqcE;z-9jOqflagrGH07G2$#%VYQr`7W4{j?*TZ*cZ zjg8HQMNpE*o;3f1)YQ~D5f%v-I-#90uQy6~TT8>P$A{a2xEMr4M6%KB09&xTt0Pbw zUXe4FzrD@Dkpo_YQxOu1=_0PNumt+~C5yy)T*)51D6{ae)S>n3*P$|JTSY~D*rk{Q zK(g*JHw06Yc#V&bi))*d7Znxhl)J!}nxMLwp6^e3;RF+?hjwW4*&QiT&nU2bxM5fy zvYr?}Yiepb5wmx&-cEhTdJG_)KoXAo($Xm+fJKKh%6IMopwpClh$tK-D8C}$PwRHD z+5rCmcrS1?l!DxRflUqs5+NJ*YXXzOlzgg{9*5f?cP8or!Mg#kUJb)d2`zxMxQw{W z?{uB7_tEep1x;KG44NOxnwq?JvkFJ)8yg#-4}>-aQ}8HVEU+4_`1C2HS6U(|sr1`r z2u9{}-9XWYD*pu*f({%a1s0|?7S}?{VFLpLzzb^~F`=Wnxj=IHa({uvpcguB=NND- zEG;i{-~g?78yv-{$w{$_fTZ)esvcXMJUlVl0Vd5MG-4(lKTzL3=J)Ks3(#`o13G&8 zZ1r5xmn0-4fXVV*xsv?2Ju&UR7uTV%W+7=r@A~?B9G3+dC1pZ*cn!7v(ZMbVa%iIX z``WRc)ybLmB>9E3oBGw~HMfnRQq?_Bd(ry@S7u2G^C?$-OKZ&8H1Ev{J$kE1`qAlq z)i-If3$)UpICEz^&UQdmq_EJH7AnIGBh-t(uQ;(A6vpGx<9%3bEGNsgYaxXi*?`)Q z<{7sD*mN`z$noyoyXH9a7i-dFp`e_VM}i8aI`ShF+W*(CuurG>HcJXH2;R!wI-U%< z3^?2ltiW;DUd_nJ$jz-xZswEfk$nz8B0xMD1$PDHgTS)lN6LKCVxR37diPnr7g)rV zwO;iEOy&Caksjf%oZ^2qT=FJ-bZVcLakQDIGYTP-5HO52>x%eG2 zWdce{>=~rkQ~U?D#5Q5M=VD4q1iNIUq)b*w!Yt~85N^5s0%~)&RvaxlH8nM3DL+x7Timq51%n6(7;clahx73x>L$E$Xv054~`-s;Uw|;^@e5?pWh+JN#Z>o zTONp4-J9?&uN)j#`kK2YO!GTksRpgSh7???vL|CKC!z$|Hj7{3!awxwtUFty9er%I zvM2eW?wkyez%Pz;*7939Fvph%4pbfWgCfx}p-`Wa!jt|9@5QmL8qMF$MlwMHup${< zJ@lEw9TZsKk3!^R;L8B`QcnVTVEp32!?;n*XJ|hoa~ehu79=vHGav%4lrVbm2Je5q z8A9XS2EtrDz%i9*U%#Fch>kNl<-F<+Oh zMN$F+C2*P_Cpy1_!<9#Bh$}%CPYo6%BPJ%keEE)E)ibCLIpxbYoPHka<7v;`Uv&8- zGETnigQY*LEj=(WF$pRM(t!L0`T#2jhmhma(CZt9XxLj6h=k z9#OkA%9~q@-^0Vg2=MUmNJ)zU63{RQEx^Fw4Xa7M(0u(X^7ryd45R`_JCk8c_fG=* zYacsu9Bx~U@Cyl5zIkJ?yEY99d0y|((9nkm@0*{i?x#`#2VGT_@SCfpj>}PYjs(!g zp$em%flP0Ye6cA2$MVR98AF`2MJ#tOP)bvAea4_rac_^pm*&}lJ zuY*kcDPbfqRtI<==tWg;edK8tn(xXt@B8}oYik@Zx)Avz+e|fvzE5ZpQ55W8XXuX=j7ovU1vSyzo6~z7gis{L)!=r1u3b<3io{(Sy^8kN*UA%P}A?< zzc1)5Ivs9sCt?K+=2N?K(0NMdk z65|;!`abjQ=7j*%+n`#St^nMqI5E?zrmRf%nLPU$D7Ud}RbMZtvi74($=xCkIi zdV2b|R7pbnozdeXMlR{Mp4}wu+D<>dlA6XV15ML@b)pX7CBpUOFK{><6^l4t2LD}a3P_^tl)&n6pQK@1y)0U8%n+s>}3IZgtaUu@~E?VnTVQf3y z9BG#SZ)gO%1IN~Hfb~ON7m?qat+fsC_(Tn00zTf}9VK#^A-xu8lM@rOt~Z1ZHy-2< z{2NGcdQ1db;jEkI=~V=Q=J(+J{lgz|R({q8dkZrQczIn$kO<{zg!6e zTz`!VHAs|czb|m(3uK|Y;P zxUHzkcn1CnVL`Q-p!kmw#!tir9vS)-N2GfIK%e1UBt6le#~-}*kEC{rWdDZ?@&bf! zdpZ*OZJP3rSoR;|mlHhs&vfa}X$6Gw#ZWJXM*N3XcuK9o=|BCbu(e^wQ30?&pr?W) z0`fvZnFe(TjLZNGN+H$ll2<1KDZn+f0%D?~^S#;oUvITv+r2g8J?gQK_$En>4H(SD zixk)Os-QEfy=N!jvT>yg&llQ>%O)@dtTXcUsZ>bQViT>ZC*&3<1H+@u`JUB;B;9DF*#?pZe*05sb`L% zj2k@|k}r;w^SzQy3cB~~o*2b1?NV6xC74ZvGBHsDz%!t%BAp*e#1Yr7UAv+wya42p zi9RzL9DFh|=3rG|2#-lhqRwtf{0PdIQLzc-S)Bz7Fbtvg2LL^E^waUdj1ZVU#iDKh zg`9I4cPYyO=}fEmd!7$R;Sp&H1)Skb-0RQ_XOP38xFfs}0qSgr44BM=D?az~f@Zv6 zO=NWKdB4eaTsP6zv`$WvAHHa1 z2@J`kXJ9x%;ElW?sEo(VpgGt`Z!=2~#$3!6J7b<8`!B9tUES!C4Z|!2aI4&@vW#It6AP)iOyFQeQavt63 zic`gD0>0SfQIV0GpzehSq*G4tv9faIu!hCO@!8KSYjl{wx@&NSC@x=?vJ-cc7OMwC z`nqk6pA_O(q4~fmy>``RXGPz9+8lRr&VF-VWtE?SXmvUSoysX0G~6V&wWhbS(Y0-W zh1c>(`K0^rxK>tH3i0&S2`Ui~5X=Tr)Y1TOYog#r{FF(F@iW0BCZAt_T-oK9r*fY3 z^z64(17J*mXJx(YMbMProCZk6NaUk-F)enpo+Q2%`A^b$WBR)Q4=_ z1%Mtn6%B@2Ti=pT^uaWLG+;Ma1=?08ujjQ!a7^lsriSuW6DvANZq+^xrRwB*um9Pr zyy>$5uo3uShG1%(GYx4b3~Xi5V)4bLxU*90PZ(CA(oZhI#KuO{CxaG)c9Is5=q7ae zr|1@9Wv0|W!YMg}H3jOPOty3wHO3yf5D%rHp`qy~AUT3vkK?vtXJ*cGe)@o!nK_F6 zA#&!#^Z3$) zDVc{&NdmM#2{h-a=ivF7cV9w6LO=vVb!$QOGFzXr{Pw1<#D1YMXL4giiOlV2cLv18 z8ZcNe5O|-K)-eY1d%iCRJXEx-Tjpfb_wixv6QH1r$8~mg*1Gbc;ZoiEM_|iLC{vf0 zmruHFN)WTs7<#o1%)t<#5Z1LR^|Qc$@YvMURI54lkp5F@V+gL`&RBCK3n+ISaIi`aU;3EfMea8XY?-A|fO(L^j`IaBJ*~m%(EL@&sP{we4+r85zx71E0%` zm977(7edPsf*rYmr(&e!-zXSZAMC6eiPS=iX=rHBvXm68?@h1q#SNdK$C7vsKwAEG zB2G-bHwGb8Eh(zM9ez0vYyu}7`_)5v?=yS}b(raJy2{%^tF?qb^}t~dDirg#bi?l3 z!)xh$vmGflU?_5O8PVM%J+iY?^W4!JOd9+_vOfHzCj#&Ww6zlxPk4Qa2J{0V;m~!v zIdwpkp`*Y;YnA4#_l{B0Jh9S~0e}G=hvG6hIXNYzT>Mogrlv$&^%TkiAh9g~&6gwC z3@fGz2(Y!jXMFMW(_-*+NBjZ<%@w4Tl`oC*JX8GD-n&GB@(0k!G>snZFVXK*$GhVz z7(PMGmX;5P-{$5n1knMif>r+~8i7nuVSw;Vzl{A74dR4?+&7|ukK;rh25yWtq4`OQ zy?X&LxD+G(_5X zXJT)tRy*LAdMlhHy&6n>pT&K(W&|RsKtrJrO^SOh3*05V@~0EI*;`CU->R+h2aZ|Z zR^dUNde)ZEmg$}J@4SDeK_q2P}Q@8VBSWtfAOVXlI_VD;J@Ds(Aodr zcoW(mD-RnScZND4%{$ouybg=u3S7E$DIz3fWoyu?C2sTFZc~Ksv-5v%m6I#?Ao=AB zN8b!`Ho=o-KxocX%V7rspVNvSNMvFT9oFSEpoh8r1c_G5k6ckuz6fb9=7Z_t->~K1 zelab(^J*EGM1U;Eqb9H%DiUF#r>A${+rYrVSprimfR{`{UOvn~POK!o#hSoyhaW#w@Q?2G4* zO>+C@XJ#D7t5KcdVJ}}^T&uALY<0RN`u+R&T~~H7NN*ZlAPtL-?gP@5Y1cczv7zDL z?DJ|Ia3I>-+jG*>uSCQd zrwRZ#e+>=X(40t^c;eMJoQ+Xcl{(aLZfQ zvVFb17Y7S-z=Q=9;seFGxjBGQOTau9^t2QxL;pODV~F9ObM}*Sk(QlzHU4BKb#QnH z1ZCAMb(;FXz(Al$P~zcrfIL%r|IaWGU`zlAUj+rVH8qU~^PaVvc7UCo-#Ntd+M9t6 zA^vR&`{Lh4ZDq^yq|ZaM%99#cNi-XEs$v=&8C@bKZXTrjml}rDI!4WQpql*HVX+^d zkdTmws0W;jp&{)!4v(Mp$Hdok{N$Hx{hVv->OiauEe5%6+z9=h1)mkRL$TIW5qgly zl?xwB)Bdpwrne*a;ebDTz2{T17|JntADL!b;KdmOG1IM%9 zL%#8HXJ-eD{UJ5;zY%9;tiw`DK!x)D2i8311@uhqQ&-;~t>M2~LBMnUzXm@4g$RSX z_y2*nWLg?98sj2=q2t~5H3jU~fXbQ+HvsTHqdO>6s3w)^hP3j8%6SUkxp5IXuXNA> z+x1jyGJgpTL4}=_rm6}cSLKiDMCM;67=^@3Jwbx*dtbR&0U%;zdP&APkDY8d-~D0z z8>4PNOPY!xk`ouew$Z*{gG`kiTxk#Yw`bCkSqMN!@fFMWq8ORE*y2m=A*Hkfj`ei$ zIRQ^sz|ID$)KCkE22z+haFVg1gyC9I@wD)9Fu{bQm;gl?DH+>MMNcb*G8WL>0cbjA zf}%^*uL?To?r=1ksI$_*iJ=@dYQ}Yv#Vu1w2c`i5H-YjwCjmj7iMRu0$}tedVCe94e_&je!`u zDpNmHTwTLstK1dTlj##^xA2IKE&t;~mhM4#=(Y_kVK) zx@opFRBUwR!`FD8@cIv0{GcQlA*Vqk*|f~8EF`8onAc~(jG zgIp<{A0DW%@OT{_WEmS*tGz* zqyD#iu++VxmdwvI1BaZDFZY1Ew&M86RY_V#=8a7T37r$*;Y$7i0b%u-^_dNzfiy)z z9ufJMflftRvoy+O<=FzRn7%gB(kcr=$4qYSyT;=S@8nd(o_qN;*9D5wMDA_+=ykml zJ)8{o$$3SNh0lE300S$N3_RszN37Cc#z5%=yp{E@;x=2NGv{S^@%Cfxd>hDn>vmzz z;m}3pI-PjBvhszTJU@{hsNpMA_{X4ir7doW?_^XJtZngwCStSS%JC5#?KV^2;9y)* z`%?>LD!6@vp}syfvK+D;f;Jvsl{b`AUypzvH&s$AHPuHdkXR+#*jSZ=!(1U`C9=DY zW`hW80)2W~)Q2j11K|(6vK4~IZYtb26=e3eL_^%e>wa+7J%+16UW~zfLgwX4-B!H4 z#afY{#VC%3 zO)!r|tbV*sog(_uTX?jt=-6Z2I8r6k+hzTSLk^Q*YB_{A?(5d~SCq%n9PVL6_GDU( ztTH=*Z$bb@Q}Um2<4&h(Gi|`)DANla8Wdp$w`TxG5*vJ+ZadawkV6I+^3&M+$0`!e ze3H38r0ao?^Kfm!LoYe`itE-;FRw+cLX6;Hfu2T;{cJ~EAuNcJrHotT8e9H|jc-Sa zD%(QLEzzlJRCCSP6mg?LROHcQx{%wXynz7jwXp`uq&dN%~DjcLGa+8f(&v+Al;!cH3NC(`n7*5 zbB`w95D-zJik1r(BbrHGzM8xeI1lyYzc!eh3c%T-!&E^i@z6SPRN_&JPE6;27D*u2 zMled`8v?s4^*s3=_m?q>dNA^#5Zz^X1hL{l!tqSxK}_J9oR(HZTt9D(BX*)6xDnpM z2A+F_|7pKSf3}u3%cv&_?D54vfNxrfDlb?Jwofs8;^Fw?BQtvk#<${hwLRC;v~$xi z6$Pb#A8~`)4f~jz4RtLqdepOybF6I$wV>z!H($u_#VG_@I%WjpbO61I-sbLNflEtiRb?;jz2GFnj%oKC9a@&#Bz zyBnEuIF!8NE-$>jyTJr1=5ZpB3nI5a)d3NEYc@6bg^v#^8XC^!>tle1-DY<$p%QQj zF_n@mMuy6E>LM;PAmgCpL5o6Ima1w2N-#*$NOVoUnMgJRZ#vwL!^nN0(27IgM>}x6 z=NZce(O!EG05y2_l=B04(#T)eLNw6^jLCqsGxfdUe^sb?n~9+OxNHnlz&|ZaGh~C! zgU#PZI2#aHQ@_GfLXszV>(N)I^;Yh>#^{{|K>vPuPfwIuu z^S9j=G&%xA?`mZcKu9nEX>MaLegDh|sMM7!S8m>X+LNJTAitIg1NJ#-ci^}f8G)F| zQh)9wV5uhPPp^lE-=U*RgB>4%2_~MTI~Z+&vCSJ?44{3Dx~;!Tr~I3fO3^Vf%{5TN z=puo0I;5nhEfU0R9ZdR0%VrV%@s(14nox|48@KmX8>pl0a-QD~ZGukVZ-N;(4@u@v z{xgTcs^r1U5tvh@*~NTu-hKh2ubG({HDzU1-3oqwe(l9#>+x#vH7OyyHaJSa1n8op zL&b?w-Jfe17!Uy1WP#mW=hv_IY%cA}7)=ASH*I8fwdhlu8ur<8f`+y_4nUw$yx1tR9*RJc4C-O)J&1qU-e5@r^c ztBod{T>%5Ri`0Vg%8h+s;u~lqDk_TX9ttU-fLNyG0cHh+b1jz9x*c#D79aBbqhcor zov7G9)IMs5q8Wcm_0z*YXZAhs?d@x#X>6>l_o!5eP8$HoPfSF|B|=uF7$E_#rs5?8 zLe2}Ez}Dtw+V>ui4QIe+vL0KLvEdlZ_9iDM3GwhgS&a&kZESAl4?Vx_pW4_5v{*EB z^l(KmU;;uc!KB?Kp6={ONxlSO2?G|MzUu>)uS!({MuE5c ze`nDC=+|8d2!+&3>^?aC00d9B++}l%T_qJbIy->tdTPo@gP(!nMa6)kswy!)z6gLq z+f+9U#Dl2>X2s&vaBy)MZKF_`xMpCd0(F2)u-ua%0w#9$puoUzRHn2Kz+3rWZ%gP@ zkp^EswQ(0y^wcNRxV#M#Gyel6nx+xEM+1h;?nnP zPu-Q01Y8SP6QiQG>a))@Xshx~;yK}{XhFF1H1GzK5EFNnTy!`B z39|QaZc+evllZzuc9ZCkz@j*x~`J0>8hW;%Ed;!T2hBLuJ$d$wIao}{*Rx|obn~K6&a&)Gg zrL6&>+8XJi>3V%#|2cmKGlWTlmT(z><-b$_|ERdWV4(k=1ejGcAgDKOP@BV_)`c;P z@6t6bPk5nWn}N}vh=^xdYp)jLU45YB168Y#e;xdfgrJj^l?Am8l8qZ18-X1xu1%ja&q1AK^!)cy#~l6)HX~%XFRN4pcA#$kom_LMwH@iHo;H23Q7p?Bpb63$fnteLrdgz`i{=Ju7@4wCwk=XB)J(sC zNADW`iH=z|r6sV>p7t^`Tr&a+KmA6rD)CPRz&g0~8#D$dJR{%1>5e8l)3FInHqeMb z0R!Q31VWI3q2ZiH&nJDcvH^WyemhGW7P#00xVF;KH(Cp*R)82uNtq15nSgQi*U>cb zeP>df2ION4BHaT&Fid;(%E$RK*&kJfEjj`Qx7M5sq~1ERJTq@`t+aC%sDQ7@Is@t- z)sKF%^g^n~^Q{6v=Pynhm*Q|!ZhicbW96kkbn`7Z)^2ABqcaD1AQ1780q;J@>c zKZ5>KGdDpwLsxI6!`8r(Pi_Fx0YF3`Vc=wk{!f1SU&8mVi-AxX7)t)k5okl{AB4e8 z#DQcC4$xJsiuE==I(Dqy^A?E`C-eMY$QBCebOJX}11GmopZ;2G(L=t*aL5@CO7_cm zKF5z>d_I5wZrtNb&x9YjuI5a3II63oZX+)54u@M7kIky zV|qFtpkGjO0k-T^{6|0sG6|0&p$(X#r-CPE8g(i`lh<|MB>Dhk&@k}bI3eJn8sh(} zy7!K!`v3ojPbo?qG=+mAG$cjYTS#_8hzgOJb(CGosH~969$6(qA>$;<$_UBI$X?ld zoa^y&RENC3*YCPrx9fKMUj6g_^yzS3ujlLedOjbI`+7cjv_I&Kk`g=3@e)Yadt3^( z5!ujlpS>}f=gwJ!%m^6q>({SW-%(A!y&JP!k^F5U2(RDBO~M;qgPwaRl2mpmwG9dk zx%(mcG1{uCAF;7oxpsjV>4ECf5b*O*F)1GE8~|SP1qK1=UwL!^rs-P>s<8R#VWmSb zIAHIlNhmBT@_*)A3cl6tJ9hMm9b9>+sPsF?Ycp0O0bZS2>g7eDK08A)cC*O{NQ^?z zE9C|m7Rrs6xjSd=CVIcNwOz3cA=|teBVaAtnE(CzG>l)2L|*lGSs2L-^x z0_9NsUSVYW z(r5g7kJwKr^Cs&wV@NKYp7Z@O1R<9}TslyATAVpUPI=~Q_a*CPwGrjIlj?=WP(+3^ zG(S*Yc-U;VpClF&kH~l;#QXQe^ADYFNzri~Jqir6t(ce?csk@lNulUDBT#kf%&Wj~ z$v#kIU%7GxYk3m>zBQ(j$ z$w8j{#LrJfU7f?+AK9!{{}`-p8<%(RmE|&Q7JMQE$uXG9z))d4{s~Oi#IPbVWe|r= zSODQo0-Dkq&FxcPufCrNI5d;mc$)d2WC(9LrtpR5@2(8GvE}y8h-#U>oO6FJ<9g79SOfaA#2-|X_fIt&S z+OeAB#Lorr0Qc+iu+wH?-`3kZu%H_O^g z*_gBQ2Ez3subQ`lqT&(=eG66oU<7Px0=B;xJi!&P2+G_T%g$mN)r`ihG4RA_J1^R3 zuwO*1vmihm7#hm8=s3+Sd$?L4;g$NE{W*`})q*;l^Z0R90i*x0xMt@)RAmvQDEZYb zjmamzRj7V57rXcT#hu_u$Gz1ZtbZddEe)H3=6mZK*RQitg4!_yiuKo!H`9=MfS-$B zxTd-qls&GXn)7GorlL!?eeh5`I4BBJJnl64?P83ox_Ui0ANxKaRJl?gXdK~_AR1!# z0|7XfR;Dizav+g>+D;q32%4=zibCcjS@7o}b-;(7)pdZL9k8f+fyEAm8NS6(1Dy7g zOZ{#uZ3G*w?JvjO#Ip@SM%u5)-8l)FnXqJZva$pM=)uay_Q1jt`&g$7T$q)^dw1=U z_P+Us>Ql?Xqok(V53o<+GmtGUci$ltY%11Q5JcgCOT5_GvlIy?Ki&r}^#9(_{c;bx zySagg@2fx-UGA2@MS_-Zt^AoY^%VgGGXAoLg|rb^4yh0??C;Iq`55TTBHUIkFE20e zi6$_X9-|-{z9R+j(&u40r%0Sdhg-e-wKrBPQOvk`*RJBU@DDd20 z_1>Cpuz66S{(9&urR&$b0ha>6X(n1Li0;`<044OqQCj3k_3&~@E+r*boHGCMM$?-b zf?>`}vyeLE+nTtCOFQK8V+q%vxtLCu1yF(W34=WPok@elT_lAFrX}U$*6*iG>cyO7 z*d+`712=)ip(HDy{)C`la4pnPoDbt(yvVf}AoYNN?3y-B^IT~GUuVOK$nwMB#9G3q zO&=Xm+0}!`SF>%{E}MDJtvr;PRh*mJOj=Ac;Nh&q*4f2fnr}GHnY9~b$%)_D!a-VE zzG>sRPxW`TOmG1YtGF}@#SWdLlTV62=V!!v@4yyTt?_WZ&RcwG&(5B-?;fm}&CwYz z9cbu*%`dE^;kHOf$Yl^~B@A8Iof(?a6lMoH&_SrGj|Le7*s>7)Mc%7ZI)>uy2451~ z>o+P5sRd*1I$y+u4xV^&j(SvX^|kDLQ;C-~*WDupW! z30y5$6n_@LsdP{0dwsk~!&R_Jthwa+J7E2VRrg2l`McmBC=VCa!AtAit-tB4%%)$q zqy0PYN%DsF&4vEQb>%kGgtIE6iqRtAm1+F`fPJoh= zho1W$YNgUg2X;xpR=NZs3f}s^qq{Cw{3a9SA@<08! z2|Bk2a&#&Rd*u&#%&^|sD27EP3PFLdd9eUDyY{nIDKTQ` zx25PSk|0TvcY0_1-3-69_?gyq^zp_B(is~sFA1#dW_j|?s`n=wt_qQu1)fn*x2)V)1gGv8675F&4XS4 z^JDV;B61NZUyKVCa(&;#o^gI1lOhbjtqr3wU({8_3)#2sM5U69wCj*8#M5!49nc8d zf?Q%TnrroViy+s(_M%1}?j`!7$pFmJpu^zV%*?E(MJ0Z~km%9;n_uA%R~G>TQr0kb+pkAN?f0^`#7Km6+VrD#gKaTb35y_HWI$?1PlmById-oNnv z^J)DubQzNqH_6}m@IkjhJU=6#k#fz)f`Ov5jE@@xxr#W^YlLdpfFdlN#pndsY#Eq= z*tBe0USIa@I&#pLL=Sjg^!ncgbFX&mn(rwS?bjv!DfjG6%v}$q?HnjQviKb*o0$US z8vbMUuKo@C1an+&sa`*l!2HvH6FFR6|GobnMwda9%}2L+*W(8@2^0U{<$t}8bR+la zAcf_#zUSr^`{G3?pT)=e61C!|&*3q*Y#W`jJhI#4AVZr7$83_M|c~=v!L2gSAW`~#+07Fjhy^f zRu7}mbpN*j@Km(I=_OAo2rujMxC=eOG-a4mQBXi*ssc?mVgm_9%)DR#kd^hQ>2rXJ z(UYBaL3ao*PxaFeH-<8zpyYT5MA0u#8Q~G;<&|P?R#EgPy(2!0ADb$c{Hqgw0J2$$M+yoN`ajzy|q*OGnXkY&Q#60wu~9 zwf<@c8!C0VpTEBqRHCr4DGQ6sDk`>s=MmCaz{vFx3K;{iq{q;6gA>?O;SqR#z(9?7 zLLjdY%pTEX0+4m>N(wD;OeC;qW2ZC07_!$21m(P;9%zXQ8xa3o^P%H~e7^zk3>MyO zevFymI#MeFO3kH;pBsp0Q|S}T696bFh&DnWeHozaK#QLPD>(Rd_UZ-(0%P#vlM@Kr zLB3cBKz)6d6+1T=Wjwl>Nxzc8cAk!lrRe?Peg5SIkRRN!``OXar{E27J5n+-YH@DZ zsM3D%yxDGgBiIyc;*@rDz`n2H4$O04V4%u8sP6%Ni#thOL_8N)FT${HdKhMc1Jw2I zT_EAS8TchaS70mhXlPE->mdTiUmUP04|K%F7odCf*7PmtyYu{bgjUWim2G}YNFhr) zyB8cU@C*;VB-@vGzY$`3r2MEmz&fBo_A};zyBNjT<3=$C;#YF@3)S{!FoOC#gi;D5 zX+i-Srx5%OqIsgC_9xXt-RFf7dv9sxyV%>v9eARb~)asw|DJ4v>xZd%@uSMPm{ zW!?x6ybSkJmx~9G*?`ycEs(09(S&!U=7F%|`=5~F5XA*l1_T;`jo81owiZw_wYZMm zlyp3X-x7CyWoTq!k-86BEikxJ&>nNCM~2F-!2%)4NXQ`t7JLAWquYXvtK#EX=t#hOyfVW)S>GP*gUUa;rBPL|{ z#WJ7gE90`d8gfDE@BCA0bs{BExZJBQ_@yqHau+DY|EY_`LQ~q8+FTFT3=dr~H>YjG zInSz`K!yY65XbD5=)X7dd!y2kzqFuvW_DP|sg?rSWnq0fNe0y_{JTryNGon3elOAB zZ%8FUop1m1Tge;#?6`>^iSBo~CUv(fMF*7yhKK8DX_-)Gb; z0su;#Dcqq1XvwafJ85;rE}LYE&X|{mOq=VQ{<({pHiIYqK7a2+`C>!6Wfm;lYHDhs ziU!cr^SJ*&1_5_4ZCFS6&*hJ7{JX`wWDZ7ToB}2g$bC;7pe$7kCktUE#K(TwvwPj2 z5KBsx%+B@m^=-2j(7Z@eepQojZ4OuS*L`NShme^h^TO@)xpU_f713FW9tz33>!;p8 zZ`(X~bw1+9`;&*dkm~u|yTOsxxLbTgg>90tKUB8HKx)8bk~@2r^{(r$3$Wy8HeFSM zujTMh?eavPNg$`72^!vr$O{dTlShsmVc<17r==A#6|OA-$CDKjmjZCZhNnbFf)TE2j3MlgXemF+1e9tt1*A}IZw$Na;kAPjJ#T3*A8>+s>S;$r4A z`-O!ULBbRG9+y~!er_?|tq@ek3u24|@=t25k6Z<#A*eE79qj)aT?AWC?-sWWqL9>+ zJ)9Su#|o^b14NW+xPxgC%CP%xZfHiK8HiRb^ndzvrY|mhdq-NO2n$x9GA;}P0iXg) zP-yY#Jn+`k`@bu3C<;OAWCubw!0`}w<6An>+hd)O2m`$sY+K+ixlx-SoshIr`E@eL z^T;SFR)BXn1Hh>R8!`9jp8tT|5w|#GUdREW0Y$~S>5?yBScjt_#LcWeUiX5x^Tl_UMHi0V%;ICouNkLp;ty-Vi2XKIj&UX42GK<0uCJ*mmVp1}<)XKcM zPe9-~EokZ#0ks92^Jhq9I&92mlXe~SPo?n+wdVm&N-(urZ=uQ8ZJ?p0y|p-Ja}A<@ zq+gCgBA<2hehv-~flGlA7Nb9Qp#8y znT{U`WuKMnKKp2F%<}O?Y3chleKAI#hZ0COZj9f(kJ>dS<|OLF38J14iajXl?RoFT6vw`qmv z424$|s>dOC2_5^UYJsAFiuMH-*l?KsW7{&YHsMc4o3*7O?nB}r41iviK53&W12d4NZrOF+O5%DYA; zW+azsRaw^qATapu6NWOSK`aCTkkUNvQ&nzFx>Oi}003A&v#YvtP-T#)b|7BwvvV}N za>G4>A&&(f6Eu+2!2*5b921q?fxIDhpi_c2$XBgK28(S zPz_%O?*w$M@aJ>Nc31&&bQIwHM(*nu7aW~uaQJ!LGSpQJ5>LoC@oZignGWDRvW!oz zDT)YfsuJjVpiKoj2ZHtFb=9{5RJka|3jwU$pW$G&d6M&tKq!Dr&J4KWq*J0hWuILm z02cqWBd94Uuf;oueCobg!$%BHa^AXOI?Zr$RNcgh{iRB-3_?rl265~A3Hv2EtI{iS7>;p*Hl9-a57 z3nxg7a{)-1EzTqxewU+J@P84mfoy}i3@=nZjJ1qk?87RI!h zf#_X>!f%iyw~`xzDgNu-d-dY%NI+9Tt*x6Ij=07v`-s9>g+Z)5KG6Z|j2r4sjO%b)zhT#R7rnP!57Mf=Otm$EwuHSz!HbuWXwPzKN~sOkx&QZX7uG4f|D zh$>=It&kf`aoLn)9Iey|qNp=TNoRDKdE9xXPdNzcQo1NXA z7Q}>wY@Y#8A!w^lcONrt3;mFx?pWp5}9S?F0KTn_kbW!8Z}K+Al5{QTG~&Q2O$u}28~ z$;w&)!U7(RUX01ke-kj}?&&;LggmZBZWmQwN2av0GPSU>Pe>XHx4a6uEOS^ZK+zW{JHxX*pi2@coXDBZqLlq=apsw*y2!(=<71PUf=FrP<=6&q@ZaVGNf=i*WOXNu>%ZVIz~Rhe`&T%Ro9=m?B%+_zt_`>6H#cQ3t)*~a8w5g~37}PI zBS1&YeSyRmLw?15@s3r)#k$>p*3GV=Jto6*y0aUf5g{IgCOhnQ_cOs?nFY)2$U|fA zGsWlwDFsU(w5RN5RCGR%wPKLssl_RO>b2+-E?;7<=4YxdkYd32f@+qvqQ1T!XvXhy zRw!QN=aHWK_a?Ds^EL{^%)y~NFF~C`$>VPNX3eLUsmRrp2z1`SmX%b3vN@4|3%o5z z0FWl_o4(VeO(Ik9(*Bq`pQ`!&^b6-}vn>^b20VoyC^YxFw+eyc=AAXKk)H!A48#Pw-U`8k23TF>^KAi9v2XxD!L7v`n9}w#cX+o!sG@R?)5A*>XHgiu@BT&R3C2SoNp4UDRQFQ$W1zix_ z<4=#aW+hzSk^d($R+*i+IJ{L{<-yLGMik>5bl|0!Sdw?HBE-|GyA7Evhs&0(QhgAfhV z>F-0nwr4;ybNOgcH$T*00P=e3d@qxPu!AvJ2WWF`iels*XZh`=%e_wA({T*vuJa<~ zaS0l6eu*gn0~BD-FK%CWt;G+yR2o#T0-@To|CLqLJGo_?tpRi<0Pyb3jU@(I*8i1& z1w+~byjUqIDG=rj9Ds5UB48SxMGoSE?KC8;vvm=E8zmZ@2R8o}kOTMEe!pTQXeJ(N z=Dz(a>FxQPSgLC; z@H`!;BBSp-?a&aPf^>UGmPZUy-7#)0C(R%0B{PpNm?@7Fg9dR%HyXB3pjH*7rFs$8+pXtp3N~2~!*jal?Ex#_r%pF8Y zxA9ZPCT0gvC=qcvDe-d|IGSkSGeNoHdd^0}aN+Qa-4c zqoSidk&H`77P|(F>R@wLTC86%uQ3DxpB{S7wg5i_``F8>x(ELE_xiI&#X*``E$N3K zVnnYf6-i0-)&$GmjU{juQCB)IjWan_683o`M-K1j+fIHOQcf=bI!jVgQcf5UjXoJB z#~4vx1{_YLpNDdgbdVox}K?i^pJ;vu$XZw6{=u`&n!@*RXC;grB}n|{Gw$`fpI ziVEFwrYMKKM5`MCqJSpWXyQWa5NH{uf$8A!X$nKCfLC-O8k9#59^~F>@}Ma)9Su~P zJP5_)$;#y@GcMh7 zeB5~ioOs9iHjEIH!2k@QTEO`O+i2lwE{*vi-XG0LzqX9>f0Tz4m%^pq-y%FFs?LH+Hv7LtCqEL7V*)YZQ zUU}Anmaqaqo>9UO_M_gWpNJ%$pVx6AD%I`CmtfXs`}~goem?7yHGo{fsXqWtvGVdx zLR@`qg5%?^q>PsRc-5W>>nyFmf}V2NP5hq!Ak+~_j8ya|kMQw5JrPhh4t+ZiHxc1W zRr5fD7V7~i2N}R(CjD?A2y34hzFOr{K{2$W02&{B`$O^RBQXJLcK!?YXv zy#fbn)b5Uh2`nnAgBRZaFUPc6^Z_p?whc&F(5RfUvoVaymw-1E3x@dUi!OxD6tsFb zY^|k;cb$OgU)TQaELNmG8P+N4M+J+UAsfz1`>Mwn2#qZSLZR6&FDu)TwMtpTG5q7x zzh#6k#sTTuKafz-=4Pa5VSTfP8q$h-leS6Sh8DwZAqtvz`aOFt4wO@^#zBw%i-SV% z`FxBSvOghW(9+C_cq3Tn86pB7&A;T(ExCj4$2FtY;P5u4sRg%C%HA+Kz(}c5wp$DA z*uEVKMxe3ehp{8c8=Q8cgo!A3(Bbeu?}mJ?hhAQefI(7LuK%GEjqH~uGEPyf`x`hX z>;>yrWH~G1A<(|8ffY~(<{X?%%&3ecB5`o(^$v9Q*7dar5<^(#ELOH$%{j zyj+pQz|67{2!++CilMYXn*^#<)C5sGF0O^GYN7{S(}X-{Q~C{Hb;yW>Ix9^LRG^JR zUeJs}$Z_2_F{^sA^|U@R0N=&eRx$r%VP|ItVPgHnKHhrrrX=I&?I`XQT5V0QFE-GK zG|Z*tBndY=F0R#xa;1S4T4?!5rlLUkg5 z%Q~}yS#X)~{8RHTedQdWDH88S`~D~jRYP15 zB$uE|A-AmH zFZByS_ytH8AQTtyMzD#W5duaVj?g*C4MEl?uI-3k4mx*@e?X`+t4MhDZxVAk%1Xdg z!6B>?l9G^u>j0%=zn+p5*`;?Tmmv7jcL`UdX_gXD137fiS&rp$$~#GoO@!~YQD zM($#HBNB`MZWUeNY-ovdNGNH#8FXA>@XbJ(09=!PE&R!olaN~m{{5OD5KEk+?&U7_ z{`vFTezkZEgjx<`2|{z_xTYO_Wcv&d!<2^w__oWL7#S5O$lpTM1H8tIHR_l(s$zIR zFx^j@w>S(n^3ItYv;or?hTpQV%Mwn9P(3__)O07aV*1M91SSSS>?=6%1AH%tcTy2J zoV!UHo}+JI+}riBcn)hU6Dopa}>MSK`Uw zR;DM=x9hB=aFI*JYuOvVcnp+LB2N*Ci>0OI_3N?NX~j)z^gc;?WcvWcT{J?fI&Rd0 zJE)K#bsi#=r}}ExxwtA_gPF#N7pfn6MSx{8#a~Bs-n1yEPXs+Qq}d_Vv2VCd?(9A$ zqBf&m0gH;*e(tvK^ugRAzvs{U%T9?BEfvZyfv%sSfrYBm0CwT2;a2lU+_V`a{>XQ( zQ^_Ifiq9l2xzL)nl^xu(b0_FcX#B+W@746Nrb7Dk-ieoHGsJS3wQ{{;^fFX3V^Vs~ z3aL8Dy^&Z#kR;8a7pA#HjY$84#DERD_3X31#LNH9XPM4EYw5W)l21m76n;cPoPT%? z*sdKo^+(MQcKs3Nz^#otTb!3JhG+Mo=fKr-lQ75+7*;sC0 zsV-P1ItBKf%+{D zs$D>wxsL3#%*LdMPZAS@R4W*79uua19%fG*CDiMb)9<6`XFiqIzpT*$-Ob z$fk}nt3gFC2u55B*fW*^7S0QCGHq>b*}vW+5z}#smS2}3K+e1&RUc#z!RC2#p`fq@ z=mI3Mptb-Grj1F_3l1kN4-;-`)7uvbku}f)^Bnryvh{q1@al zdhx1sfyK7DF)-)B?Ne;s3TQxb-rS+4eAA6B4zJeo!)+&nR;#_g&%Jaf?h(yep3yBcJ*)W>0QF?M>K>9j$dfQe(g`pb zTgb_yDxRa6ARQPa2%|7#2SVQ;&1j#pM#S7a%VKU`403=AEZfSOtv!STJ7Hb`Ec|t0 z4sB+&&mczQ9!R}a2a*|yo6Gmk(}-s>46!%Bf)rx{l5+ZxIr5|iq&_6;P3XH>Z3Rsb zXo$ZH+FUk^j;(PV{j{eL;_m{wO<*2^cBpO^Kv$T7wRKe0u-E}pG*tg4IzC=@d_XX> z{D6>9NbfEqIM~#X>g7g4`=2x#s?+!SR6ILkoPv6hfDy`a0!^(3=sp}Zj$Q#3Wh;4& z>n6ZGB*5?9nrXoTN8H$JM7>Vc1!)%uruMV=KrLt`0!i@T9a;qF+_Q}jd^nIQDE9uV z@^5WWlr)Ive_Cdp_GU=HyhNT1K$390o@y{HprX+y;rMIVIlj`h&IbOnbG2LcVyI(% z8$d`2QD0NQ1+sua5k>sg;sdsRuzv% zB&(1TP#|sK0nuH3uDz|1?LgfSys;TYj>v&>3kweWmmY0EopoKGzY@dVx)1#C^h+=& z@qTtdSPsy%0P?**_|co^|L_B=mo(&uVOAn(>@9cu>5Oi`!oLa{iQ2`yHwk==HY??v-0EjfQZ9rBV$i>%S zZcq^{+t&yNKwu1DZnwZ92L6+wmz5ku_P#$hs6mRa3{p3teCkJ}-{7$0K-m!$$^Zds z_D*9{{tHKB|JkZqid+TZ(XZ3|7NbA7|L*`0*YgnmJLKyil}PJ@u)R>*67B`nOVpb{ z9ZUc}SIvHaq?QefYlm~g3=tl?j<1ciLHxCL^h<9@coaT%tV%@zkQU&*4F=mOduK== zg&IYK3I7oIl+e@u6Zu8wC<7X{6D+nI!`mUMfN33xPZU3h{7RJO;2=yKEOpL{13Koz zU7Pz)D2?j=n6e(&85idMa4mkDBM*5B&PQ~ZiMcliHS8u*Qt$``+f@S0gh*Z(la<47 zKVTYo7pED=Hz}mWu*CbpC-Kf7pu6kx&wsT6SHcEo7KfdYu!LL}zO?{S=!DO~zq;P^ zf`mvA|CWQS#3&o%&M-Ds#^ru-JWh1+1~h}LiK6yUV}Z;>;D(Hv;n0f!(0H<^Gykdpn2^ zkx1l;5hI09*#+4YLvBHNk5DkF3ZaA@{y;yhnUqot%Iu!NA8O&896^Bz-DYEZ?ahZx z7RCF3KIKc8(+h!hx-$6GFj9YoJC1dhtVAuq;i}Ljrbnx%SHamL5O5UFqz6hwxKYTz zVRNgiS-y*X6*@~}L3)S}$csrdOaPp|CD~zoaz+kuP2A-!>tFvG(Oq{5x&l`Q=ba?- z!@(*tOEfr0EsRo0N6$$n27a(LRD9sXa19Y*6*6~)*8{HjJRGS!Sfy4}M6^*y8eM8* z-D>)T5cQ5C`0SY)OqGNSJB|xqeSg5!eqTEH%++hE^(VLI~BCFoa&HR|A8kZ(K%y2cv9NSo2Wp(b&7FN;GzV5(QcR(0ETJoG|1Y@?7>nc^_6U zLzq$*(o-Qk+X*_0xk?<7nT#RMi9-!BdataTV@EBPyOw_>0Du*A>a>GOY8fj~-crG< zd`XjNHC&c~tQL;O|E73g`?Ot6@eo-Z=T__RSZ}cq~HI~&m$dp z#wm|RP@bD!2KA9++qP}17U|WY1V9wQs&LN85Gcj2&Q9Nfd-W4Wcal;Nr_Xu!qaGX8 z|I6{a;^BsalvIJ;f+JfwPbkLu8`3lnrLYs%Hz2xMR@5Nqg&ow7B5>q4M1w-Kk}@O8 z}tCha;WAXp8}B*M_zv<5JMuJ4Qj;`>1@2N(RS@)3g> zwVEG7K11-cM#(=93tQ6cqreE%_HOL22DQ8Buw!=Y>8KUBZJDN#I7BCNXyFOXcEZDX z9|QJomov4jyVUn>Sk8w4=|?U3L*@tdE59Rjz9k{SFMbqt#hidT`>;wR2ES=LUqHSU z`l_})aqpAZ@12X#tx z8GiI(%)+(DA2i!Y(tm$7PF4y(su4DLjD!geJ~Wt-R(0Z*YvTlW-)~R(@b){P5O?wm z&^f#P*4f!pJuUXVeGg9b^va7jT;(IL-@V-E588S{?YjXdTgt_@Rmd&gUBMgrD~EeV zTWA`@dC2;dyzPeD8$P$YloQBzr=Tq`8%GEir0dZbL3j6%4@lHv`LV5&R?R~z;<4fF zew>013-h%?1zeBE9?IRFi@3<>Df&R~n_Jy>=bf9&H%t(Q5GOB%jL=i}SfM9m)*@DO z42St-=ex_SSjo#bpi(x4BM!Ac*$b#G5eI!lZExK>&nRU@Ey_cN`f$iW77Mcs;%x*D z9!!Xc_&`g7+9ElzDL4G8GUM~^8B;L>LkJ2xpw5LTE48(?0Y6=_?~$P<*+*sk&RsPu zm8@ZK&KvJxH4=i+k73rt_A)s|W}E`EGdRy%0Y$$ylh8f#klk+iIryI1sY3sJjL&f} zCYIlWNoNl!1<~DrKD5rvocb*dJ$=)AI{Y_=K&P?U1GuNGBfBR^(w~prioR;DU=>o7 z5wMZ;_cJJdf&mnB)ocBh<>X~?d@8}mSMaX1PIjwLiFuWmA$sh@0U?d?iyI?cwT0eE zJPTMnO4E?al09cuB+r!#7L4uS0YU{0dr0=wEOb7@bBnryt5~vz>N5?$(G0as%= zRg{p&rcs%$e6}vv8RW${<}l4aJ4Bx+{NolX~xt^_V11m10&(9Pdxw+f6$$I?z#~W#uRFRg?EZeSt&=rQ@OAYkmer+T>Dq1 zI=4f4{?b&WkPG7!xeBAc>QuIrUKtuUAMdkeWzK)GrxL#G-yQ#|JtO&`&opD0>7xz7 z?eJ;(GeaaI zCvzkqxMBJJ7Jjwwp;_2}5FYWdtqW5dnCP|lmBzrE1y2=un^QOuUmptPy9sU&{;+On zP+_@vR7YFH_Sap{9l77a?E4dv%yX^^Q5JlA@ZfDjS!(#R9x~IGyQZ2MbURR!-KAZJ z5BDT#@lEo#nmmlTwTD7ObK$ExH?Hi=W%m@whMZoHn<0bFy>V zbofKO_O+|_M&+@#=#iGqL5B}H@tZc5!7S{~vU2*d8)Wo4SHSLk%p)eO&TsI-2R}k#?+}-Z@ zgdbmQkKCS9fp33`6DqPS7jKM;Hi#|P(F+Oj-eYOCtBN7Ul#6q*{O7076GEF)3xq4Z z={`LmP3AeC3L~KHV29Rhbj;DO4AVVJQtP@|wh8ksT z18OIBgkLUvfRb;Fxt()O$ZGW3yL67R(A6}2`@=DwJg`vF$(KF?oq z9gL?suOFE3)=;CP46QnNY4a61)^;+(uS)7|Ng(-OsTr742~OqNTyVZ%$wZ0bqin^P=DSAs&a^3_w(4 zF0RY(Yh&bg4C$+=doR%6+8t1}LaY430C0(SP>Icd-oK&ZpRrjGM734_cvuS*Kt496b; zwX+Apub6rGI)kREI2tB!Ca3t3C*@J*9YmT$F(dAR<>sLl>}PIBxHqAH$c087 zJhB>iz}Foiwhsz-Q2OS;$({+g{-5Iq9CWaT*oL~x#_WprnUzWnW|nk%?zS`m7%3|r zw4s!fQP|)ed5OCc+Rlb7O%0Do8&sG!=@(_tGuRdhT=2T-u=u!Rtjya{Nia&2&nbNN za(e9Z%lKF?2bNZq_jTO5zAOjo>WdC1#qNY#>SkKVvB^e@24~%x%InyMcH}=~YpgES z$?~wSI$m4ui~V$G6~FxOuT%FZzja2IA5QHE+b4ONQ)8mB#9zwP1f;~_UQFTK`s9>; z04AS-3z z+eIA}98(E8H|)yW`?pgixp*f|-so~}{vKnYYZR`IpR06gKAfn3OIhrS<=N)&uuCx* z%PS>`9@oo<2kJd@nnilDKDfA?78e(8v}JZOjW=L&6cXZjWi!6}1k>E7x0v}KjK+q@ zs=y*x%q5XV;zaFx;#Oc}!Q%~;?CG)*Q!Pcdt>Ggz9&9vsL@7*~_V1fE;JV?OQ{}8O z{<&O}$85BTEG=%*>CmgI@mJG5MJre_8u#z{{F-~|!{%tnx6RZSGkJ$aFtO!F#-PD* zhDu>;%?YkFjBt}Jy{gYM;X<%fLR9p`u86E0@>20>ZcWwBUkZvISI zl>7LDsRq8GQ&~I0-Y*p89td8tEeLp4h_!zeDUQ9h$9u5ql)K_x!=YAx{H)Jb=Qyl8 z(*e=>nk;;=(A@N>vweTq!6XTd8)QpIZdCbM+?R5IwS+HSQlKxzu8KTL$dD}Ra`&|3 zJHwBy+lq2B;#;i>uPa$^OpSKBspp>eWA6~(yZYXoXZTR@nHyw9>}83ArfP|`B$MV0 zJ;j(yFLs@&<2(82b!tMmHS_+CIpg!r3389x_+Mh5YW7$rS$)Afdmj+RSNJc+>o(jh zdJ*)p@geS}kVUKQ60BN5jJ8?}q0uI}y6pw$-%HUO-5NfGPY68Eb#Woph-d6^aX>)* zu#%o3^m&dC4TE`Z)CiLHz}6ezo_SgBi|EYlnkS-`D^EGn{EeI(F67kkBv;-QNpvXR zEuq5$p7*z%TAaqkc&VqfEy*x_n`@pPDUiy1H9sObcD(&pwhV4&|7|%^2kQ!k{c468 zTVGz7v>$wPQ7MG^J?qlz>~uf&o^EdtD34#%$(<`1R4LMoV zW^Q#oQE#@(c}^bWTj`PyEVb(-+9R(f3r(g+I{QpvD$E;R2uRT<_RbDVUf#igzq}Z_7}RiHWoqOM7g+30d-debGu0^tcf1o#U0^pY%?T@T z`s8LbR@J?$!7ta@S<1mdOj$X|Y4J4IrPN!MjGUcSCFm$ckK++jhnbw453!vdNLy$V z$EsJi%*+|9Zj5&XxnGuykE(rs_)?75*@a}Vzhh-hERPFT1p8vPgVjZRRvh>p9^<9X z58|z6P0`Y=nse37;Xb!u6WF04BVe|5=d}R5MR=V-QO>8r8g7yHXF88EmwGZ1(k{vF zFx8WYj$qCxqC+-|(X-fIXN%`nH7Vau*gulb*1d98{ZTi&+m!8&YtBMlnO8qlxhYIW z^HLbbi~7~UaJs^9-ssI7OZ=L^`*HHSnZ2CX_53-VE8m!uhex>v4 zT!&#lnY$z#&k<>u`Y9xF zymgXs{}HF91py;LBjxQ6Urv_ZmDDlf+OspHnsNRZk9i5&Q8V56qKWGEx5$t-rzfxp zzT3HH$J@fGeVkTZXAC4h&UBUO)Ms!FGvTYE@*^Xk10|54_8e#7&qn&~=et?|!I}P- z$*J9<6gr#Lk_<6hk0(y<@O@7&E9Ka?ViMJ9FY z_jfAu;aSOs!o~ufy`?r9@oEx3_ax`#PbKuJH$t!YFk{S{rDtw&Eu{!?|kt&P~5NAFYyoC5$_fH@Vn5Pibk+ zAT8{>{qgQ2#!ZXbFm_KcesUQ0oTWWO`q!88;yZV~Yq|!@LeD7L|fjfxr5Q$<}-M;;8n46?P;b(IvyA~*LT0=A^{dV_%2_318Dhgk~HibP_ zz-Qkq^q;ov|2d^DiF6=$Q*|dJc6pJ|^#zi>nPf`vGTxo7_hFn#ai*&}h)^{o0tcaa8@BhpFTO)Yp^Vc}jg+EkQy#-_neX6cqp8QXd1 zvIrH)@;dEqZ|fs;7i@Iy^}61ta^_MKkm5h7^y>Y^(d(0O7x@$yi}idPB=c}Isn2VCEJ(wwh!4#24%(3z-wK*uIGCxn;%_6C3H*NnxtC2P&)iCwugSu>LP&NWte zI@l5aeEL_()yghX_qVk3V@K(1YL5t38{lZ|Z8H*@TFL|*?5bmJf2zJ;bRNI(=ErV( zIqU*1L5(R)#PO5;FirlOrI}Hkis0$Ccom+V&FOumlJ4=1wAm)lmi($`1czfB88XVy z@D6k~Yenfk$y z)I4`C_6EI+QG3p%SB=Mbs*A{mZ$pvLffeS?HU9oIR>9S2rl3Anp=V*Hh}Wj(Ie5PM z7yBwsrjy8D__6mpTjo`kDE_gy%CB~GX#VsgLDpMl+Nt`MtL2Ie1K|b3vZ^XJFM6t9 z7L^xgoBr0b3>o;V_nj7EjCx+X)z2l5&MZnMzcqd)dvD8Eh6a)#!=ipN3uC-l%`9d|g*wfH-Ko9jiErM6=4#EjryT|I{xd?u{Z$&>6VqQ7IjGkR+4)$DJx zv~mv^oZt9Dj-{yWT+u}?#~x80+!^Xk3nSS|$u~pjDCy3HJ~u?~-QPKJf+ljBT%JJ{Xs-RHeg_iDN-vN37fqO$pg))Ehe zGe-59+`y|F^+r=E1lPsf9{0%196fx&*Gh$b?@8U#fLKlq-yJsed?U8ttz%L!UfL(P z`%AD|jU(ET#ZgwNBmY8yA7;`7O0ICI`H^r=W8J$T8>V|S zCQi(PiXnV&`fPFf(r!(s?H(_E-ggARz#L@LfQVmILq2rL+UA@Z8DU_Vq}Oo{#fRe; zV5UuM-BB+R(oL4iVlY{n>QAPAzx|zGSPaf$i~QQw+WmXeUD3sZkRkv@yhK3(nHT2p zSl=$kagqkV#f6O*v~Oyhch=ds_FMDn7R0ef!itQxDZcCO!1IH!b zHAkJlfX7?OcaQuc=hAvMADoNVlXmHR*W3H-(j}n=ztG@$OUl-~E*(?*8+|97_6g?A z4fox*3cqIK7U?Gv6E}M0WtOT6w?#2^@?oD=g|LNRcSt___hnjkl@4-uEXv*3w6OIsSeut4~a)3~csS+7>#SE?6 zUz~4mbDm}ycd(qZ-W*W$AW3r;(7PS_WbO5>tvYzx5uw{+@LMK{k^+W&p^0m-c+T|YX9Cl?^SJvlD=FPvVUX#?*90Q z{q)B3!xKSIu2%-T#F{_c{e>p$eQ|$M>E#o)U$4ktcb=Fg<=MH68WzzLh8Vu$7}yNxx^b} zbq3quRH3WZSq0gxo}|dB>QT2-5law=%^)#?Z&uDkmlnC6L>48io`FF)pT%9;PWGi* zWL)a0e(%|Gm$B84G5JBkb&8 zrgVen&&9;6Md1)^RdWjF67ha3Z)t#kL4tUCxM%SjzmB2Kt9Rgaw#=h(OEcQ(wrOlyD~~m&z-FDfn}J`@)ywE(!t(ZC{fP{ zPh0-`@mrU$wd3|5C|VCKKa{|c*ujy~j4_+}Z+i5QR@Uk=wY6m=P iwnmVy!Aay#H+?%De)HLfrZ(gwa?*-YuO+VB{l5T3p^%^e diff --git a/docs/images/StorageClass.png b/docs/images/StorageClass.png index 7e0558e1a087219db457951f90f0cb82eea3ae72..5779c82912b17583ef13ed93e402faa3a13b0ed3 100644 GIT binary patch literal 60552 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 C#DVGn literal 18656 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 G*#8GjU0`ki diff --git a/docs/team/triciabk.md b/docs/team/triciabk.md index dd928e464d..78d3e662a6 100644 --- a/docs/team/triciabk.md +++ b/docs/team/triciabk.md @@ -2,7 +2,7 @@ ## Project: ChessMaster -###### Chessmaster is a ChessMasterCLI is a command-line interface (CLI) chess game designed to make learning and training accessible for beginners while offering an engaging experience for all skill levels. This sleek and user-friendly chess simulator provides a platform for novice players to build their skills and understanding of the game. +###### ChessMaster is a ChessMasterCLI is a command-line interface (CLI) chess game designed to make learning and training accessible for beginners while offering an engaging experience for all skill levels. This sleek and user-friendly chess simulator provides a platform for novice players to build their skills and understanding of the game. ### Given below are my contributions to the project: @@ -16,7 +16,9 @@ - Allow for restart of new game after a game is completed #### Other Trivial Commands -- +- `help` command +- `show` board command +- `rules` command ### Documentation: #### User Guide: @@ -24,5 +26,4 @@ Added documentation for the features storage and command features (Exit, Help, R #### Developer Guide: - Added implementation details of the storage feature. -- Contributed to product scope and target users. - +- Contributed to product scope and target users. \ No newline at end of file From e22f171c1a91f04d67c6b40d21be94770d5abfec Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Mon, 13 Nov 2023 18:27:18 +0800 Subject: [PATCH 12/54] Update Developer Guide --- docs/DeveloperGuide.md | 25 ++++++++++++++---------- docs/diagrams/MoveClass.puml | 5 +++++ docs/diagrams/ParseCommandSequence.puml | 14 ++++++------- docs/diagrams/StorageSequence.puml | 14 ++++++------- docs/images/ChessMasterSequence.png | Bin 36147 -> 37169 bytes docs/images/MiniMaxSequenceDiagram.png | Bin 72224 -> 34863 bytes docs/images/MoveClass.png | Bin 8168 -> 10816 bytes docs/images/ParseCommandSequence.png | Bin 60524 -> 50198 bytes docs/images/ParserCommandDiagram.png | Bin 62494 -> 50228 bytes 9 files changed, 34 insertions(+), 24 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4614804012..9c162a9a65 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -40,7 +40,8 @@ Our application also uses other classes to store information about the chess gam ### ChessMaster component -The sequence diagram below illustrates the interactions within the ChessMaster component, when they launch the program. +The sequence diagram below illustrates the interactions within the ChessMaster component, when they launch the program. +The user has the option to terminate the game anytime during this interaction with `exit`, however, this event is not depicted in the diagram for simplicity. ![](images/ChessMasterSequence.png) @@ -49,7 +50,7 @@ How does ChessMaster component work: 1. Attempts to load previously stored game in storage 2. If previous game exists, asks the user if a new game or the previous game should be loaded. 3. If a new game is selected, the user will be prompted for the color and difficulty to start. -4. Start running the new or previous game instance. +4. Start running the new or previous game instance. ### Game component @@ -58,7 +59,7 @@ The sequence diagram below illustrates the interactions within the Game componen ![](images/GameSequence.png) How does the Game component work: -1. Solicits input from user. Users can provide game commands, if not recognised, it will parsed as a `MoveCommand`. +1. Solicits input from user. Users can provide game commands, if not recognised, it will parse as a `MoveCommand`. 2. The returned command will be executed. 3. If user entered a game command (not MoveCommand), the next user input will be solicited. 4. If a MoveCommand is identified, the user's input will be parsed as a Move object with checks to ensure it is a valid move on the chessboard. @@ -117,7 +118,9 @@ How the minimax algorithm works: 5. The `getBestMove` method returns the best move for the CPU to make. ### Move types -The Move class and its subclasses are responsible for handling the different types of moves in chess. The Move class is an abstract class that is extended by the following subclasses: StandardMove, PawnOpening, CastleMove, EnPassantMove and PromotionMove. The Move class is also extended by the following classes: CastleSide, Direction, MoveDirection, MoveType and PromotionPiece. +The Move class and its subclasses are responsible for handling the different types of moves in chess. +The Move class is an abstract class that is extended by the following subclasses: StandardMove, PawnOpening, CastleMove, EnPassantMove and PromotionMove. +The Move class is also extended by the following classes: CastleSide, Direction, MoveDirection, MoveType and PromotionPiece. Below is a class diagram representing the Move class. ![](images/MoveClass.png) @@ -157,20 +160,23 @@ The Storage component is responsible for handling the storage and retrieval of c ![](images/StorageClass.png) +Below is a sequence diagram of the storage class. +It includes only the more essential methods (createChessmasterFile, saveBoard, loadBoard, resetBoard) required for the main storing and loading of information, to prevent the diagram from being too complex. + ![](images/StorageSequence.png) Here is a brief overview of how the storage handles the data storage: -1. In the text file, the following contents are stored in order, each taking up a line: +1. For the storing of information, it creates the necessary parent directories for the file and the file itself if they don't exist +2. In the text file, the following contents are stored in order, each taking up a line: 1. Player's color information 2. Game difficulty 3. Color of the next player (the color to be played upon the loading of game) 4. Human player's past moves in the form of comma-separated string 5. CPU's past moves in the form of comma-separated string 6. State of the chessboard in an 8x8 format, taking up 8 lines. - -2. Creates the necessary parent directories for the file and the file itself if they don't exist -* Allows resetting the game by clearing the contents of the file. -* Loads the state of the chessboard from the file by constructing a 2D array of ChessTile objects. +3. For the loading of information the above saved information are loaded (Player's color, game difficulty, next turn's color, player's moves, CPU's moves and board state) +4. To ensure data is not corrupted, the executeSavedMoves method parses the saved player's moves and CPU's moves to check against the saved board state +5. Other features include resetting the game by clearing the contents of the file. ## Product scope @@ -200,7 +206,6 @@ Here is a brief overview of how the storage handles the data storage: | v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | | v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | -{more to be added} ## Non-functional requirements diff --git a/docs/diagrams/MoveClass.puml b/docs/diagrams/MoveClass.puml index b0c63bd218..36525711a2 100644 --- a/docs/diagrams/MoveClass.puml +++ b/docs/diagrams/MoveClass.puml @@ -7,9 +7,14 @@ class Move { - to: Coordinate - pieceMoved: ChessPiece - pieceCaptured: ChessPiece + + + getFrom(): Coordinate + + getTo(): Coordinate + getPieceMoved(): ChessPiece + hasCapturedAPiece(): boolean + getPieceCaptured(): ChessPiece + isValidWithCheck(board: ChessBoard): boolean + + isSkippingPawn(): boolean + + toString(): String } @enduml diff --git a/docs/diagrams/ParseCommandSequence.puml b/docs/diagrams/ParseCommandSequence.puml index 80080ff983..df01c2a319 100644 --- a/docs/diagrams/ParseCommandSequence.puml +++ b/docs/diagrams/ParseCommandSequence.puml @@ -1,13 +1,13 @@ @startuml 'https://plantuml.com/sequence-diagram -participant ":Game" as Game -participant ":Parser" as Parser -participant ":Command" as Command -participant ":CommandResult" as CommandResult -participant "coord :Coordinate" as Coordinate -participant "board :ChessBoard" as ChessBoard -participant "promoteFrom :ChessPiece" as ChessPiece +participant ":Game" as Game #Pink +participant ":Parser" as Parser #SkyBlue +participant ":Command" as Command #IndianRed +participant ":CommandResult" as CommandResult #LimeGreen +participant "coord :Coordinate" as Coordinate #LightPink +participant "board :ChessBoard" as ChessBoard #Turquoise +participant "promoteFrom :ChessPiece" as ChessPiece #Orchid Game -> Parser: parseCommand() activate Parser diff --git a/docs/diagrams/StorageSequence.puml b/docs/diagrams/StorageSequence.puml index 3536c57601..0f0cc72c82 100644 --- a/docs/diagrams/StorageSequence.puml +++ b/docs/diagrams/StorageSequence.puml @@ -1,12 +1,12 @@ @startuml -actor User -participant ":Storage" as Storage -participant ":File" as File -participant ":FileWriter" as FileWriter -participant ":Scanner" as Scanner -participant ":ChessTile" as ChessTile -participant ":String" as String +actor User #BlanchedAlmond +participant ":Storage" as Storage #DeepSkyBlue +participant ":File" as File #Orange +participant ":FileWriter" as FileWriter #PaleTurquoise +participant ":Scanner" as Scanner #Pink +participant ":ChessTile" as ChessTile #Orchid +participant ":String" as String #IndianRed participant "human:Human" as Human participant "cpu:CPU" as CPU participant "board:ChessBoard" as ChessBoard diff --git a/docs/images/ChessMasterSequence.png b/docs/images/ChessMasterSequence.png index e157d4e6c5af89a680f51d900b3cbcd74bf3ca54..285ee762216c26102efa1355f741fd449b205799 100644 GIT binary patch literal 37169 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 literal 36147 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 diff --git a/docs/images/MiniMaxSequenceDiagram.png b/docs/images/MiniMaxSequenceDiagram.png index b5d1ee5e920554a9db8c02eba00b5b32b367aaa0..0095327e0ffa8de208a76dd4df865b2d3f74f513 100644 GIT binary patch literal 34863 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 Z9p-#tb|Ui>$o-?POUhkIxqQp({{U2Zg2?~? diff --git a/docs/images/MoveClass.png b/docs/images/MoveClass.png index 0b1a26069bb12f779e7e77de7812bf8c2e8f740d..2be9cf50c0bcf6be46556d0e702146c1cfe14676 100644 GIT binary patch literal 10816 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

-d2 d4
+move d2 d4
 _________________________________________________________________
 
 You moved Pawn from d2 to d4
@@ -127,7 +127,7 @@ _________________________________________________________________
 
 
 

-
+ChessMaster is thinking of a move...
 _________________________________________________________________
 
 ChessMaster moved Pawn from e7 to e5
@@ -291,7 +291,8 @@ Objective:
 _________________________________________________________________
 ```
 
-Further details of special rules
+#### Further details of special rules
+
 1. Castling
 
    For the move to be valid:
@@ -334,7 +335,6 @@ Further details of special rules
    Available coordinates for King at e1:
    e2 d1 d2 c1
    _________________________________________________________________
-   
    ```
 
    Example:  `move e1 c1`
@@ -366,7 +366,7 @@ Further details of special rules
             (1) |   |   |(k)| r |( )| b | n | r | (1)
                 _________________________________
                  (a) (b) (c) (d) (e) (f) (g) (h)
-   ```
+    ```
 
 2. En Passant:
    
@@ -374,8 +374,8 @@ Further details of special rules
    To capture en passant, you must do it on your very next move. 
    - Move your pawn diagonally forward to the square that your opponent's pawn would have occupied if it had moved only one square forward.
 
-
    Sample previous board: 
+   
    ```
    _________________________________________________________________
 
@@ -433,11 +433,8 @@ Further details of special rules
    Available coordinates for Pawn at d5:
    e6 c6 d6
    _________________________________________________________________
-
    ```
 
-
-
 ### Show commands: `help`
 
 Show a list of commands and what they do
@@ -445,6 +442,7 @@ Show a list of commands and what they do
 Format: `help`
 
 Expected Output:
+
 ```
 _________________________________________________________________
 
@@ -476,6 +474,7 @@ Display a legend that explains the piece representations
 Format: `legend`
 
 Expected Output:
+
 ```
 _________________________________________________________________
 
@@ -505,6 +504,7 @@ Selecting `y` will restart the game, while `n` will cause player to exit program
 Format: `restart`
 
 Expected output:
+
 ```
 Do you want to restart game? [y/n] 
 ```
@@ -526,7 +526,6 @@ Move 3: WHITE moves Knight from b8 to c6
 _________________________________________________________________
 ```
 
-
 ### Step back in history: `stepback`
 
 Displays the board state as it was a certain number of moves ago. Note that this command does not reverse any moves
@@ -537,26 +536,27 @@ Format: `stepback [number of moves to step back]`
 Example: `stepback 2`
 
 Sample output:
+
 ```
-(a) (b) (c) (d) (e) (f) (g) (h)
-_________________________________
-(8) | r | n | b | q | k | b |   | r | (8)
-_________________________________
-(7) | p | p | p | p | p | p | p | p | (7)
-_________________________________
-(6) |   |   |   |   |   | n |   |   | (6)
-_________________________________
-(5) |   |   |   |   |   |   |   |   | (5)
-_________________________________
-(4) |   |   |   |   |   |   |   |   | (4)
-_________________________________
-(3) |   |   |   |   |   |   |   |   | (3)
-_________________________________
-(2) | P | P | P | P | P | P | P | P | (2)
-_________________________________
-(1) | R | N | B | Q | K | B | N | R | (1)
-_________________________________
-(a) (b) (c) (d) (e) (f) (g) (h)
+                (a) (b) (c) (d) (e) (f) (g) (h)
+                _________________________________
+            (8) | r | n | b | q | k | b |   | r | (8)
+                _________________________________
+            (7) | p | p | p | p | p | p | p | p | (7)
+                _________________________________
+            (6) |   |   |   |   |   | n |   |   | (6)
+                _________________________________
+            (5) |   |   |   |   |   |   |   |   | (5)
+                _________________________________
+            (4) |   |   |   |   |   |   |   |   | (4)
+                _________________________________
+            (3) |   |   |   |   |   |   |   |   | (3)
+                _________________________________
+            (2) | P | P | P | P | P | P | P | P | (2)
+                _________________________________
+            (1) | R | N | B | Q | K | B | N | R | (1)
+                _________________________________
+                (a) (b) (c) (d) (e) (f) (g) (h)
 
 _________________________________________________________________
 
@@ -573,6 +573,7 @@ Lists each player's pieces grouped by whether they have been captured or not.
 Format: `captured`
 
 Sample output:
+
 ```
 _________________________________________________________________
 
@@ -617,6 +618,7 @@ Exit the ChessMaster application.
 Format: `exit`
 
 Expected Output:
+
 ```
 _________________________________________________________________
 
@@ -632,21 +634,21 @@ saved game, and starting a new one will delete the existing save file.
 
 ## FAQ
 
-**Q**: How do I transfer my data to another computer? 
+> **Q**: How do I transfer my data to another computer? 
 
 **A**: You can navigate to your root folder, and find the file `data/ChessMaster.txt`. Transfer the file to your other computer,
 and find the `data` folder in the ChessMaster install folder in the other computer. Copy the file into the folder. Start ChessMaster,
 and type `y` when prompted to load a saved game.
 
-**Q**: How do I play with another person?
+> **Q**: How do I play with another person?
 
 **A**: Currently, ChessMaster does not support multiplayer. 
 
-**Q**: Can we play timed games?
+> **Q**: Can we play timed games?
 
 **A**: ChessMaster does not come with an internal timer. However, you are able to use your own chess timer or stopwatch to simulate timed games.
 
-**Q**: Can I draw by repeating moves?
+> **Q**: Can I draw by repeating moves?
 
 **A**: ChessMaster does not currently support draws by repetition. However, you can use the `exit` command to end the game. Alternatively, you can maneuver the game to a draw by stalemate, where neither party can move without being in check or there are only kings left on the board.
 

From 8d5ba9a53c7d795be1947a863202287487aefcb4 Mon Sep 17 00:00:00 2001
From: Tong Zheng Hong 
Date: Tue, 14 Nov 2023 03:41:37 +0800
Subject: [PATCH 28/54] Change ``` to html tags for code blocks

---
 docs/UserGuide.md | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index f1e71c41ed..85ad5d2389 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -309,7 +309,7 @@ _________________________________________________________________
 
    Expected Output:
 
-   ```
+   

                  (a) (b) (c) (d) (e) (f) (g) (h)
                 _________________________________
             (8) | R |   |   |   | K |   |   | R | (8)
@@ -335,13 +335,13 @@ _________________________________________________________________
    Available coordinates for King at e1:
    e2 d1 d2 c1
    _________________________________________________________________
-   ```
+   
Example: `move e1 c1` Expected Output: - ``` +

    _________________________________________________________________
 
    You moved King from e1 to c1
@@ -366,7 +366,7 @@ _________________________________________________________________
             (1) |   |   |(k)| r |( )| b | n | r | (1)
                 _________________________________
                  (a) (b) (c) (d) (e) (f) (g) (h)
-    ```
+    
2. En Passant: @@ -376,7 +376,7 @@ _________________________________________________________________ Sample previous board: - ``` +

    _________________________________________________________________
 
    ChessMaster moved Pawn from e7 to e5
@@ -401,13 +401,13 @@ _________________________________________________________________
             (1) | r | n | b | q | k | b | n | r | (1)
                 _________________________________
                  (a) (b) (c) (d) (e) (f) (g) (h)
-   ```
+   
Example: `move d5 e6` Expected output: - ``` +

                  (a) (b) (c) (d) (e) (f) (g) (h)
                 _________________________________
             (8) | R |   | B | Q | K | B |   | R | (8)
@@ -433,7 +433,7 @@ _________________________________________________________________
    Available coordinates for Pawn at d5:
    e6 c6 d6
    _________________________________________________________________
-   ```
+   
### Show commands: `help` From c0c17a5253ea6de4bd081a51e7c03054ea6ff559 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 04:15:54 +0800 Subject: [PATCH 29/54] Change to table for code block --- docs/UserGuide.md | 186 ++++++++++++++++++++++++---------------------- 1 file changed, 96 insertions(+), 90 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index f1e71c41ed..f81425c5f1 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -94,7 +94,7 @@ Additionally, every time a move is executed, ChessMaster provides a comprehensiv - +

 move d2 d4
 _________________________________________________________________
@@ -291,26 +291,29 @@ Objective:
 _________________________________________________________________
 ```
 
-#### Further details of special rules
+#### 1. Castling
 
-1. Castling
+For the move to be valid:
+- It's the king's first move. 
+- It's the rook's first move. 
+- There are no pieces between the king and the rook. 
+- The king is not in check and the king will not be in check after castling
 
-   For the move to be valid:
-   - It's the king's first move. 
-   - It's the rook's first move. 
-   - There are no pieces between the king and the rook. 
-   - The king is not in check and the king will not be in check after castling
-   
-   To perform castling on either sides:
-    - Move your king two squares to the right/left (towards the rook).
-    - The rook will jump over the king and land on the square next to the king.
+To perform castling on either sides:
+- Move your king two squares to the right/left (towards the rook).
+- The rook will jump over the king and land on the square next to the king.
 
-   Example of castling availability:  `moves e1`
+Examples and expected output:
 
-   Expected Output:
+
+
+    
+    
+
+
+
+
+
+
Castling availability: moves e1Execute castle move: moves e1 c1
- ``` - (a) (b) (c) (d) (e) (f) (g) (h) +
                 (a) (b) (c) (d) (e) (f) (g) (h)
                 _________________________________
             (8) | R |   |   |   | K |   |   | R | (8)
                 _________________________________
@@ -328,26 +331,23 @@ _________________________________________________________________
                 _________________________________
             (1) | r |   |[.]|[.]|{k}| b | n | r | (1)
                 _________________________________
-                 (a) (b) (c) (d) (e) (f) (g) (h)
-
-   _________________________________________________________________
+                (a) (b) (c) (d) (e) (f) (g) (h)
 
-   Available coordinates for King at e1:
-   e2 d1 d2 c1
-   _________________________________________________________________
-   ```
+_________________________________________________________________
 
-   Example:  `move e1 c1`
+Available coordinates for King at e1:
+e2 d1 d2 c1
+_________________________________________________________________
- Expected Output: +
- ``` - _________________________________________________________________ +
_________________________________________________________________
 
-   You moved King from e1 to c1
-   _________________________________________________________________
+You moved King from e1 to c1
+_________________________________________________________________
 
-                 (a) (b) (c) (d) (e) (f) (g) (h)
+                (a) (b) (c) (d) (e) (f) (g) (h)
                 _________________________________
             (8) | R |   |   |   | K |   |   | R | (8)
                 _________________________________
@@ -365,75 +365,82 @@ _________________________________________________________________
                 _________________________________
             (1) |   |   |(k)| r |( )| b | n | r | (1)
                 _________________________________
-                 (a) (b) (c) (d) (e) (f) (g) (h)
-    ```
+                (a) (b) (c) (d) (e) (f) (g) (h)
-2. En Passant: - - This move only happens when your opponent moves their pawn two squares forward from its starting position and lands next to your pawn. - To capture en passant, you must do it on your very next move. - - Move your pawn diagonally forward to the square that your opponent's pawn would have occupied if it had moved only one square forward. +
- Sample previous board: +#### 2. En Passant: - ``` - _________________________________________________________________ +This move only happens when your opponent moves their pawn two squares forward from its starting position and lands next to your pawn. +To capture en passant, you must do it on your very next move. +- Move your pawn diagonally forward to the square that your opponent's pawn would have occupied if it had moved only one square forward. - ChessMaster moved Pawn from e7 to e5 - _________________________________________________________________ + + + + + + + + + +
Sample board before en passantExecuting en passant move: move d5 e6
- (a) (b) (c) (d) (e) (f) (g) (h) - _________________________________ - (8) | R | | B | Q | K | B | | R | (8) - _________________________________ - (7) | P | P | P | P |( )| P | P | P | (7) - _________________________________ - (6) | | | N | | | | | | (6) - _________________________________ - (5) | | | | p |(P)| | | | (5) - _________________________________ - (4) | | | | | | | | | (4) - _________________________________ - (3) | | | | | | | | | (3) - _________________________________ - (2) | p | p | | | p | p | p | p | (2) - _________________________________ - (1) | r | n | b | q | k | b | n | r | (1) - _________________________________ - (a) (b) (c) (d) (e) (f) (g) (h) - ``` +
_________________________________________________________________
 
-   Example: `move d5 e6`
+ChessMaster moved Pawn from e7 to e5
+_________________________________________________________________
 
-   Expected output:
+             (a) (b) (c) (d) (e) (f) (g) (h)
+            _________________________________
+        (8) | R |   | B | Q | K | B |   | R | (8)
+            _________________________________
+        (7) | P | P | P | P |( )| P | P | P | (7)
+            _________________________________
+        (6) |   |   | N |   |   |   |   |   | (6)
+            _________________________________
+        (5) |   |   |   | p |(P)|   |   |   | (5)
+            _________________________________
+        (4) |   |   |   |   |   |   |   |   | (4)
+            _________________________________
+        (3) |   |   |   |   |   |   |   |   | (3)
+            _________________________________
+        (2) | p | p |   |   | p | p | p | p | (2)
+            _________________________________
+        (1) | r | n | b | q | k | b | n | r | (1)
+            _________________________________
+             (a) (b) (c) (d) (e) (f) (g) (h)
- ``` - (a) (b) (c) (d) (e) (f) (g) (h) - _________________________________ - (8) | R | | B | Q | K | B | | R | (8) - _________________________________ - (7) | P | P | P | P | | P | P | P | (7) - _________________________________ - (6) | | | N | |(p)| | | | (6) - _________________________________ - (5) | | | |( )| | | | | (5) - _________________________________ - (4) | | | | | | | | | (4) - _________________________________ - (3) | | | | | | | | | (3) - _________________________________ - (2) | p | p | | | p | p | p | p | (2) - _________________________________ - (1) | r | n | b | q | k | b | n | r | (1) - _________________________________ - (a) (b) (c) (d) (e) (f) (g) (h) +
+ +
_________________________________________________________________
+
+You moved Pawn from d5 to e6
+_________________________________________________________________
 
-   _________________________________________________________________
+             (a) (b) (c) (d) (e) (f) (g) (h)
+            _________________________________
+        (8) | R |   | B | Q | K | B |   | R | (8)
+            _________________________________
+        (7) | P | P | P | P |   | P | P | P | (7)
+            _________________________________
+        (6) |   |   | N |   |(p)|   |   |   | (6)
+            _________________________________
+        (5) |   |   |   |( )|   |   |   |   | (5)
+            _________________________________
+        (4) |   |   |   |   |   |   |   |   | (4)
+            _________________________________
+        (3) |   |   |   |   |   |   |   |   | (3)
+            _________________________________
+        (2) | p | p |   |   | p | p | p | p | (2)
+            _________________________________
+        (1) | r | n | b | q | k | b | n | r | (1)
+            _________________________________
+             (a) (b) (c) (d) (e) (f) (g) (h)
- Available coordinates for Pawn at d5: - e6 c6 d6 - _________________________________________________________________ - ``` +
### Show commands: `help` @@ -565,7 +572,6 @@ Use `show` to see the current board. _________________________________________________________________ ``` - ### List pieces in play: `captured` Lists each player's pieces grouped by whether they have been captured or not. From 360a1fd701e6f52561463bbf935dccbb3111cf88 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Tue, 14 Nov 2023 04:36:59 +0800 Subject: [PATCH 30/54] Update documentation and class diagram --- docs/DeveloperGuide.md | 2 -- docs/diagrams/ParserCommandDiagram.puml | 4 ++-- docs/images/ParserCommandDiagram.png | Bin 50228 -> 50758 bytes 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 7d76ca62e3..703e1ea854 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -153,8 +153,6 @@ Promotion is a special type of move that involves promoting a pawn to another pi ### Storage Component -**API:** - Below is a class diagram representing the Storage class. The Storage component is responsible for handling the storage and retrieval of chess game state. diff --git a/docs/diagrams/ParserCommandDiagram.puml b/docs/diagrams/ParserCommandDiagram.puml index 573b9fde3d..afda39c262 100644 --- a/docs/diagrams/ParserCommandDiagram.puml +++ b/docs/diagrams/ParserCommandDiagram.puml @@ -4,8 +4,8 @@ hide circle skinparam classAttributeIconSize 0 package command{ abstract class Command { - +execute() - +isMoveCommand() + +execute(game: Game) + +isMoveCommand(): boolean } class MoveCommand { -userInput: String diff --git a/docs/images/ParserCommandDiagram.png b/docs/images/ParserCommandDiagram.png index 9f1b4e112675bfc08bfb49f09b039072cd3544b2..34b88623c6f5e27c41616a6840e7ed7c55728780 100644 GIT binary patch literal 50758 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
MhQ&rUF4V=Y}oBO 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 E1P#ey+yDRo literal 50228 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 Date: Tue, 14 Nov 2023 04:37:08 +0800 Subject: [PATCH 31/54] Update PPP --- docs/team/triciabk.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/team/triciabk.md b/docs/team/triciabk.md index caae57760d..c3456bc563 100644 --- a/docs/team/triciabk.md +++ b/docs/team/triciabk.md @@ -2,14 +2,16 @@ ## Project: ChessMaster -###### ChessMaster is a ChessMasterCLI is a command-line interface (CLI) chess game designed to make learning and training accessible for beginners while offering an engaging experience for all skill levels. This sleek and user-friendly chess simulator provides a platform for novice players to build their skills and understanding of the game. +ChessMaster is a ChessMasterCLI is a command-line interface (CLI) chess game designed to make learning and training accessible for beginners while offering an engaging experience for all skill levels. +This sleek and user-friendly chess simulator provides a platform for novice players to build their skills and understanding of the game. ### Given below are my contributions to the project: #### Storage Class -- stores the current state of board -- stores the last current player before exit of game -- loads the state of board +- Stores the current state of board +- Stores the last current player before exit of game +- Loads the state of board +I managed the `storage` class of the board and the data that are required to be stored and returned when loading a new game. #### Restart function - Restart allows users to restart the game any time they want, without having to exit the program and entering again. @@ -20,11 +22,15 @@ - `show` board command - `rules` command +### Project Management +- Managed Release v1.0 on GitHub + ### Documentation: #### User Guide: -Added documentation for the features storage and command features (Exit, Help, Restart, Rules, Show) -Implemented command summary and expected outputs of commands. +- Added documentation for the features releating to storage and command features (Exit, Help, Restart, Rules, Show) +- Implemented command summary and expected outputs of commands. #### Developer Guide: - Added implementation details of the storage feature. -- Contributed to product scope and target users. \ No newline at end of file +- Contributed to product scope and target users. +- Updated user stories. \ No newline at end of file From 56b8abab6c8b34b91f2324fb5a7721a749175a9a Mon Sep 17 00:00:00 2001 From: antrikshdhand <> Date: Tue, 14 Nov 2023 08:48:57 +0800 Subject: [PATCH 32/54] Update PPP --- docs/UserGuide.md | 14 ++++++-------- docs/team/antrikshdhand.md | 32 +++++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index f81425c5f1..6927153143 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -70,9 +70,9 @@ However, if you prefer to **start a fresh game** or if **no previous game is fou Choose your starting color to start new game! [b/w/exit] ``` -Next, you can choose the difficulty of the AI you will be pitched against! The current supported difficulty levels range from 1 to 4. Please enter the number corresponding to your preferred difficulty level. +Next, you can choose the difficulty of the AI you will be pitched against! The current supported difficulty levels range from 1 to 3. Please enter the number corresponding to your preferred difficulty level. ``` -Choose your difficulty level! [1/2/3/4/exit] +Choose your difficulty level! [1/2/3/exit] ``` Inputs that are not compliant with the expect input (indicated in `[]`) will be rejected and users will be prompted to re-input. @@ -162,9 +162,7 @@ _________________________________________________________________ The game will automatically end and a victor be declared when one side has been checkmated, or if both players are stuck in a stalemate situation where neither player can avoid moving into a checked position. -Checkmate is the point in the game where the attacking player has the opponent's king in a situation where it can't escape being captured on the next move. - -The king is "trapped" and has no safe squares to move to, and no other pieces can help. +Checkmate is the point in the game where the attacking player has the opponent's king in a situation where it can't escape being captured on the next move. The king is "trapped" and has no safe squares to move to, and no other pieces can help. Otherwise, you may use the `exit` command if you wish to end the game midway and quit the program or `restart` command to start a new game. @@ -180,7 +178,7 @@ Examples: - `move a2 a4` - `move b3 g6` -ChessMaster also automatically checks if the move was valid and legal before it is executed. If the move is valid, an output as shown above in the [Gameplay](#gameplay) section will be output. Else, the following error +ChessMaster automatically checks if the move is valid and legal before it is executed. If the move is valid, an output as shown above in the [Gameplay](#gameplay) section will be output. Else, the following error message will be shown: `Oops, that move isn't valid!` @@ -535,8 +533,8 @@ _________________________________________________________________ ### Step back in history: `stepback` -Displays the board state as it was a certain number of moves ago. Note that this command does not reverse any moves -in the current game. +Displays the board state as it was a certain number of moves ago. **Note that this command does not reverse any moves +in the current game.** Format: `stepback [number of moves to step back]` diff --git a/docs/team/antrikshdhand.md b/docs/team/antrikshdhand.md index 4c49307f4b..738d1a170e 100644 --- a/docs/team/antrikshdhand.md +++ b/docs/team/antrikshdhand.md @@ -1,17 +1,39 @@ -# Project Portfolio Page [DRAFT] +# Project Portfolio Page + +By Antriksh Dhand (@antrikshdhand) ## Overview +I primarily focused on enhancing the gameplay experience and ensuring the robustness of the codebase. I implemented new key commands, refactored existing code for an improved object-oriented design, and explored end-to-end testing strategies. + ## Contributions ### Code contributed +Check out my contributions on the [TP Dashboard](https://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=antrikshdhhttps://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=antrikshdhand&breakdown=truehttps://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=antrikshdhand&breakdown=truehttps://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=antrikshdhand&breakdown=trueand&breakdown=true). + ### Enhancements implemented -### Contributions to the UG +#### `captured`, `history`, and `stepback` Commands + +I implemented the `captured`, `history`, and `stepback` commands, allowing the player access to commands they would generally expect to see in a modern chess game. The `stepback` command posed a unique challenge, requiring a deep dive into move reversal mechanisms. This effort involved significant code refactoring to promote cleaner, more object-oriented structures. + +#### Object-Oriented Design Refactoring + +To enhance code maintainability and extensibility, I introduced sub-classes such as `CastleMove` and `EnPassantMove`. Additionally, the implementation of the `MoveFactory` class, adopting the Factory method pattern, has streamlined the creation of Move objects. This in turn fed into making the reversal of moves much more cleaner to implement and more robust overall. I also encouraged and administered the use of SLAP in our codebase. + +### Contributions to the User Guide (UG) + +While not introducing new major sections, I diligently maintained the UG by documenting my new commands and ensuring that information stays relevant and up to date. + +### Contributions to the Developer Guide (DG) + +#### End-to-End Testing Section + +I made substantial progress in establishing end-to-end testing for the CLI. Despite not achieving full completion, I laid the groundwork and documented the process in the DG, providing a valuable resource for future testing efforts. You can see a stub of this code in the DG. -### Contributions to the DG +### General Contributions -### Contributions to team-based tasks +Regularly contributed to team discussions, providing insights and assistance where needed. -### Review/mentoring contributions \ No newline at end of file +Actively participated in code reviews and offered constructive feedback to enhance overall code quality. \ No newline at end of file From 8d75c3980cd4d7ec4e7df5484bfa398cd0802bfb Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 10:27:08 +0800 Subject: [PATCH 33/54] Update PPP --- docs/team/ken-ruster.md | 80 +++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 38 deletions(-) diff --git a/docs/team/ken-ruster.md b/docs/team/ken-ruster.md index 264998f16d..231ff22fec 100644 --- a/docs/team/ken-ruster.md +++ b/docs/team/ken-ruster.md @@ -7,41 +7,45 @@ and its simplicity means that even low-end machines should be able to run it. ### Code contributions: [RepoSense Link](https://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=ken-ruster&breakdown=false&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos) Given below are my contributions to the project: -- **New Feature**: Move class - - A class representing a move to be made. - - Includes the coordinates from and to of the move, as well as the piece involved to check for validity later. -- **New Feature**: Checking for the validity of the save file. - - Justification: To make sure that the move history and current board state match. Prevents the user from making - illegal moves via changing the save file. - - Highlights: The implementation required a revision to the structure used to save the file. - It required implementing a `PromoteMove` class as well to store possible promotions. - - How it works: - - Move history is stored in the .txt file - - When the game is loaded, the moves are executed in the exact order they were stored in. - - The board it was executed on then is passed into the Game to be run after being checked against the saved board state. - - By doing this, we are able to ensure the History, Stepback and Captured commands are able to work normally after a saved game is loaded. -- **New feature**: Displaying valid moves for a piece - - Justification: New players may not be able to tell how certain pieces move. - This feature assists them in learning how the game works in an accessible manner. - - Highlights: Doing this posed a challenge on how best to display the different possibilities for moves - , eg capturable pieces, current position of the piece and empty tiles it could move to. - Some difficulty arose while learning to go formatting for text highlighting which works - for both Windows and Mac. -- **New feature**: Handling promotion - - Justification: Promotion is an essential mechanic of Chess. - - Highlights: Handling promotion required extensive modification of several classes relating to game function. -- **Project Management**: - - Managed bug testing and checkStyle adherence for releases `1.0` and `2.0` -- **Enhancements to existing features**: - - Added additional tests for existing features, including: - - `parsePromote` - - `ShowMovesCommand` - - `executeSavedMoves`, `loadHumanMoves()` and `loadCPUMoves()` in `Storage` - - `executeMoveArray` in `ChessBoard` -- **Documentation**: - - Developer Guide: - - Added documentation for the `Parser` and `Command` subclasses - - User Guide: - - Added documentation for the Features section - - Updated the Command Summary - - Added and wrote the FAQ section +### **New Feature**: Move class +- A class representing a move to be made. +- Includes the coordinates from and to of the move, as well as the piece involved to check for validity later. +### **New Feature**: Checking for the validity of the save file. +- Justification: To make sure that the move history and current board state match. Prevents the user from making + illegal moves via changing the save file. +- Highlights: The implementation required a revision to the structure of the saved file. + It required implementing a `PromoteMove` class as well to store possible promotions. +- How it works: + - Move history is stored in the .txt file + - When the game is loaded, the file reads the moves of the human and CPU, and merges them to form a single array. + - Each of the moves in the array are parsed and executed in the exact order they were stored in. + - The board it was executed on then is passed into the Game to be run after being checked against the saved board state. + - By doing this, we are able to ensure the History, Stepback and Captured commands are able to work normally after a saved game is loaded. +### **New feature**: Displaying valid moves for a piece +- Justification: New players may not be able to tell how certain pieces move. + This feature assists them in learning how the game works in an accessible manner. +- Highlights: Doing this posed a challenge on how best to display the different possibilities for moves + , eg capturable pieces, current position of the piece and empty tiles it could move to. + Some difficulty arose while learning to go formatting for text highlighting which works + for both Windows and Mac. +### **New feature**: Handling promotion +- Justification: Promotion is an essential mechanic of Chess. +- Highlights: Handling promotion required extensive modification of several classes relating to game function. +### **Project Management**: +- Set up GitHub organisation and repo +- Managed repo branch security settings +- Maintained issue tracker +- Managed bug testing and checkStyle adherence for releases `1.0` and `2.0` +### **Enhancements to existing features**: +- Added additional tests for existing features, including: + - `parsePromote` + - `ShowMovesCommand` + - `executeSavedMoves`, `loadHumanMoves()` and `loadCPUMoves()` in `Storage` + - `executeMoveArray` in `ChessBoard` +### **Documentation**: +- Developer Guide: + - Added documentation for the `Parser` and `Command` subclasses +- User Guide: + - Added documentation for the Features section + - Updated the Command Summary + - Added and wrote the FAQ section From 3af0b2354b2dec78af19caeed719d906787b4841 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 10:36:58 +0800 Subject: [PATCH 34/54] Update PPP --- docs/team/ken-ruster.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/team/ken-ruster.md b/docs/team/ken-ruster.md index 231ff22fec..0c74f5ec61 100644 --- a/docs/team/ken-ruster.md +++ b/docs/team/ken-ruster.md @@ -31,6 +31,10 @@ Given below are my contributions to the project: ### **New feature**: Handling promotion - Justification: Promotion is an essential mechanic of Chess. - Highlights: Handling promotion required extensive modification of several classes relating to game function. +- How it works: + - Game checks for pieces able to promoted at the end of each move + - User is prompted to promote a piece, and the input is parsed to return a new piece + - The pawn to be promoted is replaced with the new piece ### **Project Management**: - Set up GitHub organisation and repo - Managed repo branch security settings @@ -45,6 +49,8 @@ Given below are my contributions to the project: ### **Documentation**: - Developer Guide: - Added documentation for the `Parser` and `Command` subclasses + - Added sequence diagram for move parsing + - Added class diagram describing `Parser` and `Command` - User Guide: - Added documentation for the Features section - Updated the Command Summary From 3e31de535c141e2bd0b357a13f2e6cbbd9b60434 Mon Sep 17 00:00:00 2001 From: onx001 Date: Tue, 14 Nov 2023 11:08:31 +0800 Subject: [PATCH 35/54] Update docs Cleared up move segment in developer's guide and adopted CONTRIBUTORS page. --- CONTRIBUTORS.md | 15 +++++++++------ docs/DeveloperGuide.md | 7 +++---- docs/diagrams/MoveSequence.puml | 2 ++ docs/images/MoveSequence.png | Bin 44755 -> 44633 bytes 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e5d3d02102..19a9bca79d 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,10 +1,13 @@ # Contributors -Display | Name | Github Profile | Homepage ----|:---:|:---:|:---: -![](https://avatars0.githubusercontent.com/u/22460123?s=100) | Jeffry Lum | [Github](https://github.com/j-lum/) | [Homepage](https://se.kasugano.moe) -![](https://avatars0.githubusercontent.com/u/1673303?s=100) | Damith C. Rajapakse | [Github](https://github.com/damithc/) | [Homepage](https://www.comp.nus.edu.sg/~damithch/) -![]() | Ou Ningxiang | [Github](https://github.com/onx001/) | [Homepage](https://github.com/onx001) +Name | Github Profile +---|:---: +Antriksh Dhand | [Github](https://github.com/antrikshdhand/) +Ou Ningxiang | [Github](https://github.com/onx001/) +Oh Ken Wei | [Github](https://github.com/ken-ruster/) +Tong Zheng Hong | [Github](https://://github.com/TongZhengHong/) +Tricia Boo Koh | [Github](https://://github.com/TriciaBK/) # I would like to join this list. How can I help the project -For more information, please refer to our [contributor's guide](https://oss-generic.github.io/process/). + +For more information, please refer to our [contributor's guide](README.md#contributing). diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 703e1ea854..7c16118b83 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -118,10 +118,9 @@ How the minimax algorithm works: 5. The `getBestMove` method returns the best move for the CPU to make. ### Move types -The Move class and its subclasses are responsible for handling the different types of moves in chess. -The Move class is an abstract class that is extended by the following subclasses: StandardMove, PawnOpening, CastleMove, EnPassantMove and PromotionMove. -The Move class is also extended by the following classes: CastleSide, Direction, MoveDirection, MoveType and PromotionPiece. -Below is a class diagram representing the Move class. +The Move class and its subclasses are responsible for handling the different types of moves in chess. The Move class is a parent class of several move types: CastleMove, EnPassantMove and PromoteMove. The MoveFactory class is responsible for generating the correct move type. + +Below is a class diagram representing the parent Move class. ![](images/MoveClass.png) diff --git a/docs/diagrams/MoveSequence.puml b/docs/diagrams/MoveSequence.puml index ec7ed18939..c296663ffc 100644 --- a/docs/diagrams/MoveSequence.puml +++ b/docs/diagrams/MoveSequence.puml @@ -23,7 +23,9 @@ g -> cb : move :Move deactivate g activate cb cb -> cb : isValidMove() +activate cb cb --> cb : :boolean +deactivate cb alt Move is valid create mf cb -> mf : createMove() diff --git a/docs/images/MoveSequence.png b/docs/images/MoveSequence.png index 67481e64b4ab348daee9271aa660376718f6d03d..9d2fc1522c2704917adeb061bf8511f99aff7a01 100644 GIT binary patch literal 44633 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%0DWwv^f|cfQShK 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 k8-V};Hv`^&_ng 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 oCa_7u|G4)e)< Date: Tue, 14 Nov 2023 11:12:04 +0800 Subject: [PATCH 36/54] Show storage file format in UG --- docs/UserGuide.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 6927153143..737b7993cc 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -636,6 +636,21 @@ Every time a turn ends, ChessMaster will save the current state of the game. Whe user will be prompted to choose whether to load the saved game or begin a new one. ChessMaster only supports a single saved game, and starting a new one will delete the existing save file. +### Editing the storage file +Tasks data are saved automatically in a text (.txt) file `/data/ChessMaster.txt`. Users are welcome to update data directly by editing this data file to achieve a desired game state. + +The format of the saved game in the storage file is as follows: + +```json +[CURRENT_PLAYER_COLOR] // Either BLACK or WHITE +[GAME_DIFFICULTY] // Integer from 1 - 3 +[NEXT_TURN_COLOR] // Either BLACK or WHITE +[HUMAN_MOVE_HISTORY] // delimited by ',' +[CPU_MOVE_HISTORY] // delimited by ',' +[CHESS_BOARD_PIECE] // Next 8 lines of 8 characters each +[hasMoved_FLAGS] // Next 8 lines of 8 characters each +``` + ## FAQ > **Q**: How do I transfer my data to another computer? From 2ed2f11ea44e771a59a38ddac296732b5e529523 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 11:12:19 +0800 Subject: [PATCH 37/54] Remove unnecessary var --- src/main/java/chessmaster/game/Game.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/chessmaster/game/Game.java b/src/main/java/chessmaster/game/Game.java index 24dee0042e..37c96fdc7f 100644 --- a/src/main/java/chessmaster/game/Game.java +++ b/src/main/java/chessmaster/game/Game.java @@ -32,7 +32,6 @@ public class Game { private Command command; private boolean hasEnded; - private boolean exit = false; public Game(Color playerColour, Color currentTurnColor, ChessBoard board, Storage storage, TextUI ui, int difficulty, Human human, CPU cpu) { From 640f78ce576f5176707313c9dca449ffd224a9a4 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 11:13:02 +0800 Subject: [PATCH 38/54] Fix UI message for choose player color --- src/main/java/chessmaster/ui/UiMessages.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/chessmaster/ui/UiMessages.java b/src/main/java/chessmaster/ui/UiMessages.java index 97bbbbfa98..dc4d553bfa 100644 --- a/src/main/java/chessmaster/ui/UiMessages.java +++ b/src/main/java/chessmaster/ui/UiMessages.java @@ -17,7 +17,8 @@ public class UiMessages { "Invalid input! Please enter either 'y' for yes or 'n' for no: "; public static final String CONTINUE_PREV_GAME_MESSAGE = "Great! Continuing previous game as %s at difficulty %d"; - public static final String CHOOSE_PLAYER_COLOR_MESSAGE = "Choose your starting color to start new game! [b/w/exit]"; + public static final String CHOOSE_PLAYER_COLOR_MESSAGE = + "Choose your starting color to start new game! [b/w/exit] "; public static final String CHOOSE_PLAYER_COLOR_ERROR_MESSAGE = "Invalid input! Please enter either 'b' for Black or 'w' for White: "; public static final String START_NEW_GAME_MESSAGE = "Great! Starting new game as %s"; From 6afb1081464b110b2f469a53ed0eeb6b31a34981 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 11:13:29 +0800 Subject: [PATCH 39/54] Check empty spaces and delimiter in Storage class --- .../java/chessmaster/storage/Storage.java | 30 ++++++++++--------- src/main/java/chessmaster/user/Player.java | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index 94a68bb02a..9ad76ee267 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -11,7 +11,7 @@ import chessmaster.pieces.ChessPiece; import chessmaster.user.CPU; import chessmaster.user.Human; - +import chessmaster.user.Player; import java.io.File; import java.io.FileNotFoundException; @@ -167,7 +167,7 @@ public ChessTile[][] loadBoard() throws ChessMasterException { int rowIndex = 0; ChessTile[][] boardTiles = new ChessTile[ChessBoard.SIZE][ChessBoard.SIZE]; while (rowIndex < ChessBoard.SIZE && fileScanner.hasNext()) { - String chessRowLine = fileScanner.nextLine(); + String chessRowLine = fileScanner.nextLine().trim(); if (chessRowLine.length() != ChessBoard.SIZE) { fileScanner.close(); throw new LoadBoardException(); @@ -195,7 +195,7 @@ public ChessTile[][] loadBoard() throws ChessMasterException { rowIndex = 0; while (rowIndex < ChessBoard.SIZE && fileScanner.hasNext()) { - String chessRowLine = fileScanner.nextLine(); + String chessRowLine = fileScanner.nextLine().trim(); if (chessRowLine.length() != ChessBoard.SIZE) { fileScanner.close(); throw new LoadBoardException(); @@ -231,7 +231,7 @@ public ChessBoard executeSavedMoves(Color playerColor, ChessBoard board, Human human, CPU cpu) throws ChessMasterException { - ArrayList moveStringList = new ArrayList(); + ArrayList moveStringList = new ArrayList(); ArrayList humanMoves = loadHumanMoves(); ArrayList cpuMoves = loadCPUMoves(); @@ -287,7 +287,7 @@ public ChessBoard executeSavedMoves(Color playerColor, //@@author onx001 - private boolean isPieceValid (ChessPiece initialPiece) { + private boolean isPieceValid(ChessPiece initialPiece) { if (initialPiece.isBlackKing()) { if (blackKingPresent) { return false; @@ -339,8 +339,8 @@ public Color loadPlayerColor() throws ChessMasterException { } if (fileScanner.hasNext()) { - String colorLine = fileScanner.nextLine(); - Color playerColor = Parser.parsePlayerColor(colorLine); + String colorLine = fileScanner.nextLine().trim(); + Color playerColor = Parser.parsePlayerColor(colorLine.toUpperCase()); fileScanner.close(); return playerColor; @@ -373,7 +373,7 @@ public int loadDifficulty() throws ChessMasterException { if (fileScanner.hasNext()) { try { - String difficultyLine = fileScanner.nextLine(); + String difficultyLine = fileScanner.nextLine().trim(); int difficulty = Parser.parseDifficulty(difficultyLine); fileScanner.close(); @@ -414,8 +414,8 @@ public Color loadCurrentColor() throws ChessMasterException { } if (fileScanner.hasNext()) { - String currentColorString = fileScanner.nextLine(); - Color color = Parser.parsePlayerColor(currentColorString); + String currentColorString = fileScanner.nextLine().trim(); + Color color = Parser.parsePlayerColor(currentColorString.toUpperCase()); fileScanner.close(); return color; } @@ -455,11 +455,12 @@ public ArrayList loadHumanMoves() throws ChessMasterException { ArrayList out = new ArrayList(); if (fileScanner.hasNext()) { - String[] movesArray = fileScanner.nextLine().split(", "); + String movesString = fileScanner.nextLine().trim(); + String[] movesArray = movesString.split(Player.MOVE_DELIMITER); Arrays.stream(movesArray) .sequential() .filter(x -> !x.equals("")) - .forEach(x -> out.add(x)); + .forEach(x -> out.add(x.trim())); } fileScanner.close(); @@ -492,11 +493,12 @@ public ArrayList loadCPUMoves() throws ChessMasterException { ArrayList out = new ArrayList(); if (fileScanner.hasNext()) { - String[] movesArray = fileScanner.nextLine().split(", "); + String movesString = fileScanner.nextLine().trim(); + String[] movesArray = movesString.split(Player.MOVE_DELIMITER); Arrays.stream(movesArray) .sequential() .filter(x -> !x.equals("")) - .forEach(x -> out.add(x)); + .forEach(x -> out.add(x.trim())); } fileScanner.close(); diff --git a/src/main/java/chessmaster/user/Player.java b/src/main/java/chessmaster/user/Player.java index 8b46fba337..3e8689b0db 100644 --- a/src/main/java/chessmaster/user/Player.java +++ b/src/main/java/chessmaster/user/Player.java @@ -10,7 +10,7 @@ public abstract class Player { - private static final String MOVE_DELIMITER = ", "; + public static final String MOVE_DELIMITER = ","; protected ArrayList moves; protected ArrayList pieces; From 50c96b09f5061b8628d35e6024a2703e18648352 Mon Sep 17 00:00:00 2001 From: onx001 Date: Tue, 14 Nov 2023 11:51:02 +0800 Subject: [PATCH 40/54] Update onx001.md --- docs/team/onx001.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/team/onx001.md b/docs/team/onx001.md index 18010f1f23..0183e53ec5 100644 --- a/docs/team/onx001.md +++ b/docs/team/onx001.md @@ -18,9 +18,21 @@ The move validity of the chesspieces is determined by the `isValidMove()` method I implemented this alongside various non-standard chess moves, such as castling and en passant in a manner that minimised code coupling and enabled other developers to have a more bug-free experience. +### Reposense + +My code contributions can be found on the [TP Dashboard](https://github.com/AY2324S1-CS2113-T18-1/tp/commit/fa0fa79e972d3c962461120070ca65f00bfff965). + ### Project Management I solved bugs and issues that arose from the integration of the Minimax algorithm and the move validity of the chesspieces. I also managed the bug testing and checkstyle adherence, and delivered key features in a timely manner which allowed for other developers to have a longer runway for implementing their features. ### Documentation -I documented the `Minimax` class and algorithm with a sequence diagram, as well as the `Move` class and the various types of moves available. I also added documentation in the user guide for castling and en passant, as well as the difficulty of the game. In addition, I polished and edited the user guide to make it more comprehensive about the various features ChessMaster has to offer. + +#### Developer's Guide +I documented the `Minimax` class and algorithm with a sequence diagram, as well as the `Move` class and the various types of moves available. I also added a sequence diagram and a class diagram of the `Move` class. + +### User's Guide +I added documentation in the user guide for castling and en passant, as well as the difficulty of the game. In addition, I polished and edited the user guide to make it more comprehensive about the various features ChessMaster has to offer. + +### Team-based tasks +I added several issues and reviewed several PRs, and helped to manage the project board. An example can be found [in this pull request](https://github.com/AY2324S1-CS2113-T18-1/tp/pull/182) and [in this issue](https://github.com/AY2324S1-CS2113-T18-1/tp/issues/185). I also submitted various bugs for other teams such as [here](https://github.com/AY2324S1-CS2113-F11-1/tp/issues/58). \ No newline at end of file From a7aa3a1f6af3e212a71a546ba25b54b88819954d Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 11:52:28 +0800 Subject: [PATCH 41/54] Fix bug with current turn in save --- src/main/java/chessmaster/ChessMaster.java | 19 ++++- .../java/chessmaster/storage/Storage.java | 76 ++++++++++--------- 2 files changed, 58 insertions(+), 37 deletions(-) diff --git a/src/main/java/chessmaster/ChessMaster.java b/src/main/java/chessmaster/ChessMaster.java index ecd863b2db..cdacf1b7f3 100644 --- a/src/main/java/chessmaster/ChessMaster.java +++ b/src/main/java/chessmaster/ChessMaster.java @@ -37,7 +37,7 @@ private ChessMaster() { try { playerColor = storage.loadPlayerColor(); difficulty = storage.loadDifficulty(); - currentTurnColor = storage.loadCurrentColor(); + //@@author ken_ruster ChessTile[][] existingBoardState = storage.loadBoard(); ChessBoard existingBoard = new ChessBoard(playerColor, existingBoardState); @@ -47,6 +47,8 @@ private ChessMaster() { storage.executeSavedMoves(playerColor, existingBoard, board, human, cpu); board.setDifficulty(difficulty); + currentTurnColor = getCurrentTurnColor(human, cpu, playerColor); + if (shouldStartNewGame() && !exit) { loadNewGame(); } @@ -56,6 +58,21 @@ private ChessMaster() { } } + private Color getCurrentTurnColor(Human human, CPU cpu, Color playerColor) throws ChessMasterException { + int noHumanMoves = human.getMovesLength(); + int noCPUMoves = cpu.getMovesLength(); + + if (noHumanMoves == noCPUMoves) { + return playerColor; + } else if (noHumanMoves > noCPUMoves && playerColor.isWhite() + || noHumanMoves < noCPUMoves && playerColor.isBlack()) { + return playerColor.getOppositeColour(); + } + + throw new ChessMasterException( + "Moves in save file are invalid! Please start a new game or correct the error"); + } + private boolean shouldStartNewGame() { ui.promptContinuePrevGame(false); String input = ui.getUserInput(false); diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index 94a68bb02a..df9d11b4e3 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -235,8 +235,29 @@ public ChessBoard executeSavedMoves(Color playerColor, ArrayList humanMoves = loadHumanMoves(); ArrayList cpuMoves = loadCPUMoves(); + if (cpuMoves.size() > humanMoves.size() && playerColor.isWhite() + || cpuMoves.size() < humanMoves.size() && playerColor.isBlack()) { + throw new ChessMasterException( + "Moves in save file are invalid! Please start a new game or correct the error"); + } + // Merge move string arrays into a singular array - if (playerColor.isWhite()) { + boolean isPlayerTurn = playerColor.isWhite(); + int noOfMoves = humanMoves.size() + cpuMoves.size(); + + for (int i = 0; i < noOfMoves; i ++) { + int turnIndex = i / 2; + if (isPlayerTurn && humanMoves.size() >= turnIndex + 1) { + moveStringList.add(humanMoves.get(turnIndex)); + } else if (cpuMoves.size() >= turnIndex + 1) { + moveStringList.add(cpuMoves.get(turnIndex)); + } + + isPlayerTurn = !isPlayerTurn; + } + + /* + if (playerColor.isWhite() && humanMoves.size() == cpuMoves.size()) { for (String move : humanMoves) { moveStringList.add(move); } @@ -244,7 +265,23 @@ public ChessBoard executeSavedMoves(Color playerColor, for (int i = 0; i < cpuMoves.size(); i ++) { moveStringList.add(2 * i + 1, cpuMoves.get(i)); } - } else if (playerColor.isBlack()) { + } else if (playerColor.isBlack() && humanMoves.size() == cpuMoves.size()) { + for (String move : cpuMoves) { + moveStringList.add(move); + } + + for (int i = 0; i < humanMoves.size(); i ++) { + moveStringList.add(2 * i + 1, humanMoves.get(i)); + } + } else if (playerColor.isWhite() && humanMoves.size() > cpuMoves.size()) { + for (String move : humanMoves) { + moveStringList.add(move); + } + + for (int i = 0; i < cpuMoves.size(); i ++) { + moveStringList.add(2 * i + 1, cpuMoves.get(i)); + } + } else if (playerColor.isBlack() && humanMoves.size() > cpuMoves.size()) { for (String move : cpuMoves) { moveStringList.add(move); } @@ -255,6 +292,7 @@ public ChessBoard executeSavedMoves(Color playerColor, } else { throw new LoadBoardException(); } + */ //Execute move string Array board.executeMoveArray(moveStringList, human, cpu); @@ -390,40 +428,6 @@ public int loadDifficulty() throws ChessMasterException { throw new LoadBoardException(); } - //@@author TriciaBK - /** - * Loads the current turn player's - * @return The difficulty as an integer. - */ - public Color loadCurrentColor() throws ChessMasterException { - createChessMasterFile(); - - Scanner fileScanner; - try { - fileScanner = new Scanner(storageFile); - } catch (FileNotFoundException e) { - throw new LoadBoardException("Invalid file path: " + filePathString); - } - - if (fileScanner.hasNext()) { - fileScanner.nextLine(); - } - - if (fileScanner.hasNext()) { - fileScanner.nextLine(); - } - - if (fileScanner.hasNext()) { - String currentColorString = fileScanner.nextLine(); - Color color = Parser.parsePlayerColor(currentColorString); - fileScanner.close(); - return color; - } - - fileScanner.close(); - throw new LoadBoardException(); - } - public String getFilePath() { return this.filePathString; } From 9fa673341d5ea5c56a91a995bed047fb2d5b18d7 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Tue, 14 Nov 2023 11:53:42 +0800 Subject: [PATCH 42/54] Add PPP link --- docs/AboutUs.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index a6dd036950..27668622ca 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,9 @@ # About us -| Name | ID | Github | -|-----------------|-----------|---------------| -| Antriksh Dhand | A0278458J | antrikshdhand | -| Oh Ken Wei | A0251850J | ken-ruster | -| Ou Ningxiang | A0249445W | onx001 | -| Tong Zheng Hong | A0251819Y | TongZhengHong | -| Tricia Boo Koh | A0264665U | TriciaBK | \ No newline at end of file +| Name | ID | Github | PPP | +|-----------------|-----------|---------------|------------------------------------| +| Antriksh Dhand | A0278458J | antrikshdhand | | +| Oh Ken Wei | A0251850J | ken-ruster | | +| Ou Ningxiang | A0249445W | onx001 | | +| Tong Zheng Hong | A0251819Y | TongZhengHong | | +| Tricia Boo Koh | A0264665U | TriciaBK | [TriciaBK's PPP](team/triciabk.md) | \ No newline at end of file From 8ffe6a4ccab2c0e667b28eade01ac01c7b52ef73 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Tue, 14 Nov 2023 11:59:32 +0800 Subject: [PATCH 43/54] Update PPP links in AboutUs --- docs/AboutUs.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 27668622ca..7aa889d9b0 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,9 @@ # About us -| Name | ID | Github | PPP | -|-----------------|-----------|---------------|------------------------------------| -| Antriksh Dhand | A0278458J | antrikshdhand | | -| Oh Ken Wei | A0251850J | ken-ruster | | -| Ou Ningxiang | A0249445W | onx001 | | -| Tong Zheng Hong | A0251819Y | TongZhengHong | | -| Tricia Boo Koh | A0264665U | TriciaBK | [TriciaBK's PPP](team/triciabk.md) | \ No newline at end of file +| Name | ID | Github | +|--------------------------------------|-----------|---------------| +| [Antriksh Dhand](team/antrikshdhand.md) | A0278458J | antrikshdhand | +| [Oh Ken Wei](team/ken-ruster.md) | A0251850J | ken-ruster | +| [Ou Ningxiang ](team/onx001.md) | A0249445W | onx001 | +| [Tong Zheng Hong](team/tongzhenghong.md) | A0251819Y | TongZhengHong | +| [Tricia Boo Koh](team/triciabk.md) | A0264665U | TriciaBK | \ No newline at end of file From 5cae662db985a2e2599c7de09d008d257e0c1a1c Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:00:01 +0800 Subject: [PATCH 44/54] Minor fixes --- src/main/java/chessmaster/game/ChessBoard.java | 5 ++++- src/main/java/chessmaster/game/ChessTile.java | 2 +- src/main/java/chessmaster/storage/Storage.java | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/chessmaster/game/ChessBoard.java b/src/main/java/chessmaster/game/ChessBoard.java index 264058efab..6521819b6c 100644 --- a/src/main/java/chessmaster/game/ChessBoard.java +++ b/src/main/java/chessmaster/game/ChessBoard.java @@ -25,11 +25,14 @@ public class ChessBoard { public static final int TOP_ROW_INDEX = 0; public static final int BOTTOM_ROW_INDEX = 7; public static final int MAX_PIECES = 16; + public static final String PROMOTE_MOVE_STRING = "p"; + public static final String INVALID_SAVE_STRING = "Invalid move found in save file! Please start a new game or correct the invalid move!"; public static final String INVALID_PROMOTE_STRING = "Invalid promotion found in save file! Please start a new game or correct the invalid move!"; + private static final String[][] STARTING_CHESSBOARD_BLACK = { { "r", "n", "b", "q", "k", "b", "n", "r" }, { "p", "p", "p", "p", "p", "p", "p", "p" }, @@ -54,7 +57,7 @@ public class ChessBoard { private Color playerColor; - private int difficulty = 4; + private int difficulty = 1; private final ChessTile[][] board = new ChessTile[SIZE][SIZE]; diff --git a/src/main/java/chessmaster/game/ChessTile.java b/src/main/java/chessmaster/game/ChessTile.java index d068dec45e..4642a6fc3a 100644 --- a/src/main/java/chessmaster/game/ChessTile.java +++ b/src/main/java/chessmaster/game/ChessTile.java @@ -3,7 +3,7 @@ import chessmaster.pieces.ChessPiece; import chessmaster.pieces.EmptyPiece; -public class ChessTile { +public class ChessTile implements Cloneable { public static final String TILE_DIVIDER = "|"; private static final String EMPTY_TILE_STRING = " "; private static final String EMPTY_TILE_MOVES_STRING = "."; diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index 48445a855a..c995b82477 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -301,7 +301,10 @@ public ChessBoard executeSavedMoves(Color playerColor, // get the destination coordinate of the last move try { String lastMoveString = moveStringList.get(moveStringList.size() - 1); - String[] lastMoveArray = lastMoveString.split(" "); + String[] lastMoveArray = lastMoveString.split("\\s+"); + if (lastMoveArray.length < 2) { + throw new LoadBoardException(); + } lastMove = Coordinate.parseAlgebraicCoor(lastMoveArray[1]); if (otherBoard.getPieceAtCoor(lastMove).isPawn()) { @@ -310,6 +313,7 @@ public ChessBoard executeSavedMoves(Color playerColor, } } catch (Exception e) { assert moveStringList.size() == 0 : "Last move should be empty"; + throw new LoadBoardException(); } From 460dc3b331f4dd8876f70a23372b9616e1bed991 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Tue, 14 Nov 2023 12:04:04 +0800 Subject: [PATCH 45/54] Update PPP --- docs/team/triciabk.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/team/triciabk.md b/docs/team/triciabk.md index c3456bc563..1abe20c1f0 100644 --- a/docs/team/triciabk.md +++ b/docs/team/triciabk.md @@ -6,6 +6,7 @@ ChessMaster is a ChessMasterCLI is a command-line interface (CLI) chess game des This sleek and user-friendly chess simulator provides a platform for novice players to build their skills and understanding of the game. ### Given below are my contributions to the project: +###### My code contribution can be found in this [TP Dashboard](https://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=triciabk&breakdown=false&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos) #### Storage Class - Stores the current state of board From 3d190c1a2805c6acbeb70b3c34b136b41c08ae92 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:12:23 +0800 Subject: [PATCH 46/54] Disable loadBoard method and remove saving --- .../java/chessmaster/storage/Storage.java | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index c995b82477..bbcf0a304e 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -4,11 +4,8 @@ import chessmaster.exceptions.LoadBoardException; import chessmaster.exceptions.SaveBoardException; import chessmaster.game.ChessBoard; -import chessmaster.game.ChessTile; import chessmaster.game.Color; -import chessmaster.game.Coordinate; import chessmaster.parser.Parser; -import chessmaster.pieces.ChessPiece; import chessmaster.user.CPU; import chessmaster.user.Human; import chessmaster.user.Player; @@ -23,18 +20,13 @@ public class Storage { //@@author ken_ruster - private static final String LOAD_BOARD_MISMATCH_STRING = - "Board state does not match state dictated by move history!"; + // private static final String LOAD_BOARD_MISMATCH_STRING = + // "Board state does not match state dictated by move history!"; private static final String PATH_EMPTY_STRING = "File path cannot be empty or null"; //@@author TriciaBK private String filePathString; private File storageFile; - private int blackPieceNum; - private int whitePieceNum; - private boolean blackKingPresent; - private boolean whiteKingPresent; - private Scanner fileScanner; - private Coordinate lastMove; + // private Coordinate lastMove; public Storage(String filePath) { filePathString = filePath; @@ -97,7 +89,7 @@ public void saveBoard(ChessBoard board, Color currentColor, Human human, CPU cpu fileWriter.write(System.lineSeparator()); //@@author TriciaBK - for (int row = 0; row < ChessBoard.SIZE; row++) { + /*for (int row = 0; row < ChessBoard.SIZE; row++) { for (int col = 0; col < ChessBoard.SIZE; col++) { ChessPiece piece = board.getPieceAtCoor(new Coordinate(col, row)); fileWriter.write(piece.toString()); @@ -112,7 +104,7 @@ public void saveBoard(ChessBoard board, Color currentColor, Human human, CPU cpu fileWriter.write(hasMovedString); } fileWriter.write(System.lineSeparator()); - } + }*/ fileWriter.close(); } catch (IOException e) { @@ -143,7 +135,7 @@ public void resetBoard() throws ChessMasterException { * @throws ChessMasterException If there is an error loading the board from the * file. */ - public ChessTile[][] loadBoard() throws ChessMasterException { + /* public ChessTile[][] loadBoard() throws ChessMasterException { createChessMasterFile(); blackPieceNum = 0; @@ -213,7 +205,7 @@ public ChessTile[][] loadBoard() throws ChessMasterException { fileScanner.close(); return boardTiles; - } + } */ //@@author ken-ruster /** @@ -227,7 +219,6 @@ public ChessTile[][] loadBoard() throws ChessMasterException { * @throws ChessMasterException */ public ChessBoard executeSavedMoves(Color playerColor, - ChessBoard otherBoard, ChessBoard board, Human human, CPU cpu) throws ChessMasterException { @@ -299,7 +290,7 @@ public ChessBoard executeSavedMoves(Color playerColor, //@@author onx001 // get the destination coordinate of the last move - try { + /*try { String lastMoveString = moveStringList.get(moveStringList.size() - 1); String[] lastMoveArray = lastMoveString.split("\\s+"); if (lastMoveArray.length < 2) { @@ -314,22 +305,22 @@ public ChessBoard executeSavedMoves(Color playerColor, } catch (Exception e) { assert moveStringList.size() == 0 : "Last move should be empty"; throw new LoadBoardException(); - } + }*/ //@@author TriciaBK // Check obtained board with loaded board state - if (!board.equals(otherBoard)) { + /*if (!board.equals(otherBoard)) { throw new LoadBoardException(LOAD_BOARD_MISMATCH_STRING); - } + }*/ return board; } //@@author onx001 - private boolean isPieceValid(ChessPiece initialPiece) { + /*private boolean isPieceValid(ChessPiece initialPiece) { if (initialPiece.isBlackKing()) { if (blackKingPresent) { return false; @@ -359,7 +350,7 @@ private boolean isPieceValid(ChessPiece initialPiece) { } return true; - } + }*/ //@@author TongZhengHong /** From 6f759229ebab3c82a54d66b07409de208053b40e Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Tue, 14 Nov 2023 12:12:31 +0800 Subject: [PATCH 47/54] Add link to TP Dashboard --- docs/team/tongzhenghong.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/team/tongzhenghong.md b/docs/team/tongzhenghong.md index b8774480a6..408b336e29 100644 --- a/docs/team/tongzhenghong.md +++ b/docs/team/tongzhenghong.md @@ -5,6 +5,8 @@ By: Tong Zheng Hong ## Overview As a key contributor to the Chess Master project, I played a central role in developing the foundational classes for the game, including the `Game` and `ChessMaster` classes. These classes serve as the backbone of the chess-playing application, managing overall game processing and execution. My responsibilities extended to crafting a comprehensive user guide and developer guide to ensure a seamless experience for both end-users and fellow developers. +My code contribution can be found in this [TP Dashboard](https://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=tongzhenghong&breakdown=false&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos) + ## Chess Master Class The ChessMaster class acts as the orchestrator, handling the primary game loop, player turns, move execution, and game state management. I meticulously designed and implemented this class to provide a robust and enjoyable chess-playing experience. The ChessMaster class integrates seamlessly with other components, such as the chessboard, players, and user interface. `Game` Class From c9dc296f1854a84b052db3f4c92f27040d7da56e Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:12:41 +0800 Subject: [PATCH 48/54] Remove calls to loadBoard --- src/main/java/chessmaster/ChessMaster.java | 9 +-- .../java/chessmaster/game/ChessBoardTest.java | 2 +- .../storage/ExecuteSavedMovesTest.java | 78 +++++++++---------- 3 files changed, 43 insertions(+), 46 deletions(-) diff --git a/src/main/java/chessmaster/ChessMaster.java b/src/main/java/chessmaster/ChessMaster.java index cdacf1b7f3..1549c67ed7 100644 --- a/src/main/java/chessmaster/ChessMaster.java +++ b/src/main/java/chessmaster/ChessMaster.java @@ -5,13 +5,11 @@ import chessmaster.game.ChessBoard; import chessmaster.ui.TextUI; import chessmaster.storage.Storage; -import chessmaster.game.ChessTile; import chessmaster.game.Color; import chessmaster.game.Game; import chessmaster.user.CPU; import chessmaster.user.Human; - /** * Main entry-point for ChessMaster application. */ @@ -39,12 +37,13 @@ private ChessMaster() { difficulty = storage.loadDifficulty(); //@@author ken_ruster - ChessTile[][] existingBoardState = storage.loadBoard(); - ChessBoard existingBoard = new ChessBoard(playerColor, existingBoardState); + // ChessTile[][] existingBoardState = storage.loadBoard(); + // ChessBoard existingBoard = new ChessBoard(playerColor, existingBoardState); board = new ChessBoard(playerColor); human = new Human(playerColor, board); cpu = new CPU(playerColor.getOppositeColour(), board); - storage.executeSavedMoves(playerColor, existingBoard, board, human, cpu); + + storage.executeSavedMoves(playerColor, board, human, cpu); board.setDifficulty(difficulty); currentTurnColor = getCurrentTurnColor(human, cpu, playerColor); diff --git a/src/test/java/chessmaster/game/ChessBoardTest.java b/src/test/java/chessmaster/game/ChessBoardTest.java index b7967c109a..73cb59ce77 100644 --- a/src/test/java/chessmaster/game/ChessBoardTest.java +++ b/src/test/java/chessmaster/game/ChessBoardTest.java @@ -59,7 +59,7 @@ public void executeMoveArrayTest() throws ChessMasterException { ChessBoard board = new ChessBoard(Color.WHITE); Human human = new Human(Color.WHITE, board); CPU cpu = new CPU(Color.BLACK, board); - ArrayList moveList = new ArrayList(); + ArrayList moveList = new ArrayList(); for (String moveString: MOVE_STRING_ARRAY) { moveList.add(moveString); } diff --git a/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java b/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java index 8b235706b0..e8ee13046b 100644 --- a/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java +++ b/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java @@ -2,12 +2,8 @@ import chessmaster.exceptions.ChessMasterException; import chessmaster.exceptions.InvalidMoveException; -import chessmaster.exceptions.LoadBoardException; import chessmaster.game.ChessBoard; -import chessmaster.game.ChessTile; import chessmaster.game.Color; -import chessmaster.parser.Parser; -import chessmaster.pieces.ChessPiece; import chessmaster.user.CPU; import chessmaster.user.Human; import org.junit.jupiter.api.Test; @@ -19,60 +15,62 @@ public class ExecuteSavedMovesTest { "src/test/resources/storageTest.txt"; private static final String INVALID_FILE_PATH_STRING = "src/test/resources/storageTest_invalidMove.txt"; - private static final String[][] MOVED_CHESSBOARD = { - { "R", ".", "B", "Q", "K", "B", ".", "R" }, - { "P", "P", "P", ".", "P", ".", "P", "P" }, - { ".", ".", "N", ".", ".", ".", ".", "." }, - { ".", ".", ".", "P", ".", "P", ".", "." }, - { ".", ".", ".", "p", ".", "b", ".", "." }, - { ".", ".", "p", ".", ".", "n", ".", "." }, - { "p", "p", ".", "q", "p", "p", "p", "p" }, - { "r", ".", ".", ".", "k", "b", ".", "r" }, - }; + // private static final String[][] MOVED_CHESSBOARD = { + // { "R", ".", "B", "Q", "K", "B", ".", "R" }, + // { "P", "P", "P", ".", "P", ".", "P", "P" }, + // { ".", ".", "N", ".", ".", ".", ".", "." }, + // { ".", ".", ".", "P", ".", "P", ".", "." }, + // { ".", ".", ".", "p", ".", "b", ".", "." }, + // { ".", ".", "p", ".", ".", "n", ".", "." }, + // { "p", "p", ".", "q", "p", "p", "p", "p" }, + // { "r", ".", ".", ".", "k", "b", ".", "r" }, + // }; - private ChessBoard loadChessBoard() { - ChessTile[][] chessTiles = new ChessTile[ChessBoard.SIZE][ChessBoard.SIZE]; - for (int row = 0; row < ChessBoard.SIZE; row++) { - for (int col = 0; col < ChessBoard.SIZE; col++) { - String chessPieceString = MOVED_CHESSBOARD[row][col]; - ChessPiece initialPiece = Parser.parseChessPiece(chessPieceString, row, col); - chessTiles[row][col] = new ChessTile(initialPiece); - assert (chessTiles[row][col] != null); - } - } - return new ChessBoard(Color.WHITE, chessTiles); - } + // private ChessBoard loadChessBoard() { + // ChessTile[][] chessTiles = new ChessTile[ChessBoard.SIZE][ChessBoard.SIZE]; + // for (int row = 0; row < ChessBoard.SIZE; row++) { + // for (int col = 0; col < ChessBoard.SIZE; col++) { + // String chessPieceString = MOVED_CHESSBOARD[row][col]; + // ChessPiece initialPiece = Parser.parseChessPiece(chessPieceString, row, col); + // chessTiles[row][col] = new ChessTile(initialPiece); + // assert (chessTiles[row][col] != null); + // } + // } + // return new ChessBoard(Color.WHITE, chessTiles); + // } @Test public void testExecuteSavedMoves_validMoves() throws ChessMasterException { Storage storage = new Storage(FILE_PATH_STRING); - ChessBoard otherBoard = loadChessBoard(); + // ChessBoard otherBoard = loadChessBoard(); ChessBoard board = new ChessBoard(Color.WHITE); Human human = new Human(Color.WHITE, board); CPU cpu = new CPU(Color.BLACK, board); - storage.executeSavedMoves(Color.WHITE, otherBoard, board, human, cpu); + storage.executeSavedMoves(Color.WHITE, board, human, cpu); } + @Test public void testExecuteSavedMoves_invalidMoves_expectInvalidMoveException() throws ChessMasterException { Storage storage = new Storage(INVALID_FILE_PATH_STRING); - ChessBoard otherBoard = loadChessBoard(); + // ChessBoard otherBoard = loadChessBoard(); ChessBoard board = new ChessBoard(Color.WHITE); Human human = new Human(Color.WHITE, board); CPU cpu = new CPU(Color.BLACK, board); assertThrows(InvalidMoveException.class, - () -> storage.executeSavedMoves(Color.WHITE, otherBoard, board, human, cpu)); + () -> storage.executeSavedMoves(Color.WHITE, board, human, cpu)); } - @Test - public void testExecuteSavedMoves_boardMismatch_expectLoadBoardException() throws ChessMasterException { - Storage storage = new Storage(FILE_PATH_STRING); - ChessBoard otherBoard = new ChessBoard(Color.WHITE); - ChessBoard board = new ChessBoard(Color.WHITE); - Human human = new Human(Color.WHITE, board); - CPU cpu = new CPU(Color.BLACK, board); - assertThrows(LoadBoardException.class, - () -> storage.executeSavedMoves(Color.WHITE, otherBoard, board, human, cpu)); - } + // @Test + // public void testExecuteSavedMoves_boardMismatch_expectLoadBoardException() throws ChessMasterException { + // Storage storage = new Storage(FILE_PATH_STRING); + // ChessBoard otherBoard = new ChessBoard(Color.WHITE); + // ChessBoard board = new ChessBoard(Color.WHITE); + // Human human = new Human(Color.WHITE, board); + // CPU cpu = new CPU(Color.BLACK, board); + + // assertThrows(LoadBoardException.class, + // () -> storage.executeSavedMoves(Color.WHITE, board, human, cpu)); + // } } From 65fccd025fe01ecf1aae09d90c55998e3076e702 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:15:56 +0800 Subject: [PATCH 49/54] Fix checkstyle --- src/main/java/chessmaster/storage/Storage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index bbcf0a304e..b60dc86fa1 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -213,7 +213,7 @@ public void resetBoard() throws ChessMasterException { * Also stores the saved move history of both the human and CPU. * * @param playerColor The color which the player is playing as - * @param otherBoard A temporary board to be compared with the board saved in the .txt file + // * @param otherBoard A temporary board to be compared with the board saved in the .txt file * @param human Object representing information about the human player * @param cpu Object representing information about the computer-controlled player * @throws ChessMasterException From e630390632d3d007bf13d57d7398899c66008277 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:18:41 +0800 Subject: [PATCH 50/54] Fix checkstyle 2 --- .../java/chessmaster/storage/Storage.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index b60dc86fa1..ab40c5c7aa 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -126,15 +126,15 @@ public void resetBoard() throws ChessMasterException { } //@@author TriciaBK - /** - * Loads the state of the chessboard from a file. - * Ignores the first line player color information as it can be retrieved with - * loadPlayerColor() method - * - * @return A 2D array of ChessTile objects representing the loaded chessboard. - * @throws ChessMasterException If there is an error loading the board from the - * file. - */ + // /** + // * Loads the state of the chessboard from a file. + // * Ignores the first line player color information as it can be retrieved with + // * loadPlayerColor() method + // * + // * @return A 2D array of ChessTile objects representing the loaded chessboard. + // * @throws ChessMasterException If there is an error loading the board from the + // * file. + // */ /* public ChessTile[][] loadBoard() throws ChessMasterException { createChessMasterFile(); @@ -213,7 +213,7 @@ public void resetBoard() throws ChessMasterException { * Also stores the saved move history of both the human and CPU. * * @param playerColor The color which the player is playing as - // * @param otherBoard A temporary board to be compared with the board saved in the .txt file + * //@param otherBoard A temporary board to be compared with the board saved in the .txt file * @param human Object representing information about the human player * @param cpu Object representing information about the computer-controlled player * @throws ChessMasterException From f895863da12f8ad97279b654316da951f4d51e0c Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:20:20 +0800 Subject: [PATCH 51/54] Fix checkstyle 3 --- src/main/java/chessmaster/storage/Storage.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index ab40c5c7aa..ccee9f50d9 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -213,7 +213,6 @@ public void resetBoard() throws ChessMasterException { * Also stores the saved move history of both the human and CPU. * * @param playerColor The color which the player is playing as - * //@param otherBoard A temporary board to be compared with the board saved in the .txt file * @param human Object representing information about the human player * @param cpu Object representing information about the computer-controlled player * @throws ChessMasterException From d74d6d302dde7e3a576850dc402c13eb9f62c51b Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:38:40 +0800 Subject: [PATCH 52/54] Remove json tag in code block --- docs/UserGuide.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 737b7993cc..61ed53aea2 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -641,14 +641,11 @@ Tasks data are saved automatically in a text (.txt) file `/da The format of the saved game in the storage file is as follows: -```json +```java [CURRENT_PLAYER_COLOR] // Either BLACK or WHITE -[GAME_DIFFICULTY] // Integer from 1 - 3 -[NEXT_TURN_COLOR] // Either BLACK or WHITE +[GAME_DIFFICULTY] // Integer from 1 to 3 [HUMAN_MOVE_HISTORY] // delimited by ',' [CPU_MOVE_HISTORY] // delimited by ',' -[CHESS_BOARD_PIECE] // Next 8 lines of 8 characters each -[hasMoved_FLAGS] // Next 8 lines of 8 characters each ``` ## FAQ From bf7e53adc6919d11af38c149f84d869cb1ebba75 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 12:44:50 +0800 Subject: [PATCH 53/54] Fix bug with current turn in save --- src/main/java/chessmaster/ChessMaster.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/chessmaster/ChessMaster.java b/src/main/java/chessmaster/ChessMaster.java index cdacf1b7f3..4d50c6a5a3 100644 --- a/src/main/java/chessmaster/ChessMaster.java +++ b/src/main/java/chessmaster/ChessMaster.java @@ -62,10 +62,11 @@ private Color getCurrentTurnColor(Human human, CPU cpu, Color playerColor) throw int noHumanMoves = human.getMovesLength(); int noCPUMoves = cpu.getMovesLength(); - if (noHumanMoves == noCPUMoves) { + if (noHumanMoves == noCPUMoves && playerColor.isWhite() + || noHumanMoves < noCPUMoves && playerColor.isBlack()) { return playerColor; } else if (noHumanMoves > noCPUMoves && playerColor.isWhite() - || noHumanMoves < noCPUMoves && playerColor.isBlack()) { + || noHumanMoves == noCPUMoves && playerColor.isBlack()) { return playerColor.getOppositeColour(); } From 1259479982cb2db7e828c05608f5bf38eb9eeab1 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 12:54:59 +0800 Subject: [PATCH 54/54] Add gameplay link --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 61ed53aea2..80f48508c7 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -6,7 +6,7 @@ ChessMasterCLI is a command-line interface (CLI) chess game designed to make lea - [Quick Start](#quick-start) - [Starting a game](#starting-a-game) -- [Gameplay]() +- [Gameplay](#gameplay) - [Features](#features) - Gameplay features - [Make a move](#make-a-move)

5bXEm*}w5mbluaK=4a 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 DF67N( diff --git a/docs/images/ParseCommandSequence.png b/docs/images/ParseCommandSequence.png index 756872fbfbc10ffde436cc7fd1529fa96a2df9c3..cf9276b5c99a5171dbd2c5622563a551ae439129 100644 GIT binary patch literal 50198 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 IM6N<$f~Q&Bw*UYD literal 60524 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 Iq>cXhKhsVxT>t<8 From de6b09a5bfd9411419319dd85da54618d23f2234 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Mon, 13 Nov 2023 18:32:42 +0800 Subject: [PATCH 13/54] Update Developer Guide --- docs/DeveloperGuide.md | 29 +++++++++++++++-------------- docs/diagrams/StorageSequence.puml | 6 +++--- docs/images/StorageSequence.png | Bin 238380 -> 81648 bytes 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 9c162a9a65..b2a451451e 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -191,20 +191,21 @@ Here is a brief overview of how the storage handles the data storage: ## User stories -| Version | As a ... | I want to ... | So that I can ... | -|---------|-------------|--------------------------------------------------------|--------------------------------------------------------| -| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | -| v1.0 | player | do only valid moves | play chess properly | -| v1.0 | player | start a new game | play chess multiple times | -| v1.0 | player | see the current state of the chess board on every turn | think about what move to play | -| v1.0 | player | tell which symbol represents which piece | know what is where | -| v1.0 | player | specify move coordinates | move the piece I want how I want it | -| v1.0 | player | promote pieces when the option is available | play extended games properly | -| v1.0 | player | have the option to abort the game | leave the game when I no longer want to play | -| v1.0 | player | save and get back to a game | leave when I am busy and resume a game when I am free | -| v2.0 | new player | see available moves for a piece | learn the rules of chess and valid moves | -| v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | -| v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | +| Version | As a ... | I want to ... | So that I can ... | +|---------|------------|--------------------------------------------------------|--------------------------------------------------------| +| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | +| v1.0 | player | do only valid moves | play chess properly | +| v1.0 | player | start a new game | play chess multiple times | +| v1.0 | player | see the current state of the chess board on every turn | think about what move to play | +| v1.0 | player | tell which symbol represents which piece | know what is where | +| v1.0 | player | specify move coordinates | move the piece I want how I want it | +| v1.0 | player | promote pieces when the option is available | play extended games properly | +| v1.0 | player | have the option to abort the game | leave the game when I no longer want to play | +| v1.0 | player | save and get back to a game | leave when I am busy and resume a game when I am free | +| v2.0 | new player | see available moves for a piece | learn the rules of chess and valid moves | +| v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | +| v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | +| v2.0 | player | see captured pieces | gauge the state of the game | ## Non-functional requirements diff --git a/docs/diagrams/StorageSequence.puml b/docs/diagrams/StorageSequence.puml index 0f0cc72c82..b67ba8af0d 100644 --- a/docs/diagrams/StorageSequence.puml +++ b/docs/diagrams/StorageSequence.puml @@ -7,9 +7,9 @@ participant ":FileWriter" as FileWriter #PaleTurquoise participant ":Scanner" as Scanner #Pink participant ":ChessTile" as ChessTile #Orchid participant ":String" as String #IndianRed -participant "human:Human" as Human -participant "cpu:CPU" as CPU -participant "board:ChessBoard" as ChessBoard +participant "human:Human" as Human #Lime +participant "cpu:CPU" as CPU #LightGreen +participant "board:ChessBoard" as ChessBoard #LightPink create Storage diff --git a/docs/images/StorageSequence.png b/docs/images/StorageSequence.png index 4edee72b5637e19a4a7dbea50c7144badb7119ac..4f16a7562263df80d30a7259355174357d6f3a9f 100644 GIT binary patch literal 81648 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 literal 238380 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 aW*&M~)BD_O`qMjtAI)>X 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%0A2=1`4<2v?Wm<#oPW^_=ajexM>7fsi@Wbz7kF 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 From 2680650334781e9e4f95c2d2f2e8ce6fcda499c1 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Mon, 13 Nov 2023 19:57:11 +0800 Subject: [PATCH 14/54] Update user guide --- docs/DeveloperGuide.md | 3 +- docs/UserGuide.md | 123 +++++++++++++------ docs/team/triciabk.md | 1 + src/main/java/chessmaster/ui/UiMessages.java | 4 +- 4 files changed, 91 insertions(+), 40 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b2a451451e..ecf5e4c4ef 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -204,8 +204,9 @@ Here is a brief overview of how the storage handles the data storage: | v1.0 | player | save and get back to a game | leave when I am busy and resume a game when I am free | | v2.0 | new player | see available moves for a piece | learn the rules of chess and valid moves | | v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | -| v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | +| v2.0 | player | see past move history | recap through the gameplay | | v2.0 | player | see captured pieces | gauge the state of the game | +| v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | ## Non-functional requirements diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 43f324331d..2499e80b40 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -61,21 +61,22 @@ _________________________________________________________________ Upon launching the application, ChessMaster checks if there is a previous game in progress. If a previous game exists, you'll be presented with the option to continue from where you left off. Please enter `y` for **yes** and `n` for **no**. ``` -You have an ongoing previous chess game. Continue game? [y/n] +You have an ongoing previous chess game. Continue game? [y/n/exit] ``` However, if you prefer to **start a fresh game** or if **no previous game is found**, ChessMaster will prompt you to select your preferred color—whether it's "White" or "Black." Please enter `b` for **black** and `w` for **white**. ``` -Choose your starting color to start new game! [b/w] +Choose your starting color to start new game! [b/w/exit] ``` Next, you can choose the difficulty of the AI you will be pitched against! The current supported difficulty levels range from 1 to 4. Please enter the number corresponding to your preferred difficulty level. ``` -Choose your difficulty level! [1/2/3/4] +Choose your difficulty level! [1/2/3/4/exit] ``` -Now, you'll be off to a rewarding journey of enhancing your chess skills and enjoying the timeless game of strategy and tactics with ChessMaster! +Inputs that are not compliant with the expect input (indicated in `[]`) will be rejected and users will be prompted to re-input. +Else, you'll be off to a rewarding journey of enhancing your chess skills and enjoying the timeless game of strategy and tactics with ChessMaster! ## Gameplay @@ -165,7 +166,7 @@ Checkmate is the point in the game where the attacking player has the opponent's The king is "trapped" and has no safe squares to move to, and no other pieces can help. -Otherwise, you may use the `abort` command if you wish to end the game midway. +Otherwise, you may use the `exit` command if you wish to end the game midway and quit the program or `restart` command to start a new game. ## Features @@ -278,8 +279,9 @@ Piece movement: Queens ("q") move any number of squares in any direction. Kings ("k") move one square in any direction. -Special Rules: (Refer to specific move methods in the User Guide) - Castling - King and rook move simultaneously to safeguard the king. (e.g. e1 g1) +Special Rules: +[Refer to specific move methods in the User Guide] + Castling - King and rook move simultaneously to safeguard the king. En Passant - Pawn capturing when moving two squares from starting position. Pawn Promotion - Promote a pawn to another piece (except king) upon reaching the back rank. @@ -446,26 +448,27 @@ Expected Output: ``` _________________________________________________________________ -Seems like you need some help! -Here are the following commands to play: -Move piece - Input coordinate of piece, followed by coordinate to move to - Format: [column][row] [column][row] - E.g. a2 a3 -Show available moves - Lists all the available moves for a piece - Format: moves [column][row] - E.g. moves a2 -Show board - Shows the current state of the chess board - Format: show -Obtain rules - Obtain a quick refresher on the rules of chess - Format: rules -View pieces representation - Display a legend that explains the - piece representations - Format: legend -Abort game - Exit programme - Format: abort +Here are the commands you can use to play: +move Move piece + Format: move [column][row] [column][row] + e.g. move a2 a3 +moves Show available moves for a piece + Format: moves [column][row] + e.g. moves a2 +show Show the chessboard +rules Obtain a quick refresher on the rules of chess +legend View pieces representation +restart Start a new game +history View history of all game moves +stepback View the board as it was a certain number of moves ago + Format: stepback [number of moves to step back] + e.g. stepback 4 +captured See which Player and CPU pieces have been captured so far +exit Exit game _________________________________________________________________ ``` + ### View pieces representation: `legend` Display a legend that explains the piece representations @@ -496,7 +499,8 @@ _________________________________________________________________ ### Start a new game of chess: `restart` -Enables the player to restart the game +Enables the player to restart the game. +Selecting `y` will restart the game, while `n` will cause player to exit program. Format: `restart` @@ -511,6 +515,18 @@ Displays a list of all previous moves in the current game Format: `history` +Sample output: +``` +_________________________________________________________________ + +Move 1: WHITE moves Knight from g8 to f6 +Move 2: BLACK moves Pawn from a2 to a4 +Move 3: WHITE moves Knight from b8 to c6 + +_________________________________________________________________ +``` + + ### Step back in history: `stepback` Displays the board state as it was a certain number of moves ago. Note that this command does not reverse any moves @@ -518,6 +534,38 @@ in the current game. Format: `stepback [number of moves to step back]` +Example: `stepback 2` + +Sample output: +``` +(a) (b) (c) (d) (e) (f) (g) (h) +_________________________________ +(8) | r | n | b | q | k | b | | r | (8) +_________________________________ +(7) | p | p | p | p | p | p | p | p | (7) +_________________________________ +(6) | | | | | | n | | | (6) +_________________________________ +(5) | | | | | | | | | (5) +_________________________________ +(4) | | | | | | | | | (4) +_________________________________ +(3) | | | | | | | | | (3) +_________________________________ +(2) | P | P | P | P | P | P | P | P | (2) +_________________________________ +(1) | R | N | B | Q | K | B | N | R | (1) +_________________________________ +(a) (b) (c) (d) (e) (f) (g) (h) + +_________________________________________________________________ + +Stepped back 2 steps! +Use `show` to see the current board. +_________________________________________________________________ +``` + + ### List pieces in play: `captured` Lists each player's pieces grouped by whether they have been captured or not. @@ -604,16 +652,17 @@ and type `y` when prompted to load a saved game. ## Command Summary -| Action | Format | -|---------------|------------------------------------| -| Move | `move [column][row] [column][row]` | -| Show moves | `moves [column][row]` | -| Show board | `show` | -| Rules | `rules` | -| Help | `help` | -| Pieces legend | `legend` | -| History | `history` | -| Step back | `stepback [number of steps]` | -| List pieces | `captured` | -| Exit | `exit` | +| Action | Format | +|----------------------|------------------------------------| +| Move | `move [column][row] [column][row]` | +| Show moves | `moves [column][row]` | +| Show board | `show` | +| Rules | `rules` | +| Help | `help` | +| Pieces legend | `legend` | +| Restart game | `restart` | +| History | `history` | +| Step back | `stepback [number of steps]` | +| List captured pieces | `captured` | +| Exit | `exit` | diff --git a/docs/team/triciabk.md b/docs/team/triciabk.md index 78d3e662a6..caae57760d 100644 --- a/docs/team/triciabk.md +++ b/docs/team/triciabk.md @@ -23,6 +23,7 @@ ### Documentation: #### User Guide: Added documentation for the features storage and command features (Exit, Help, Restart, Rules, Show) +Implemented command summary and expected outputs of commands. #### Developer Guide: - Added implementation details of the storage feature. diff --git a/src/main/java/chessmaster/ui/UiMessages.java b/src/main/java/chessmaster/ui/UiMessages.java index 23c2876584..9a76c0c714 100644 --- a/src/main/java/chessmaster/ui/UiMessages.java +++ b/src/main/java/chessmaster/ui/UiMessages.java @@ -17,7 +17,7 @@ public class UiMessages { "Invalid input! Please enter either 'y' for yes or 'n' for no: "; public static final String CONTINUE_PREV_GAME_MESSAGE = "Great! Continuing previous game as %s at difficulty %d"; - public static final String CHOOSE_PLAYER_COLOR_MESSAGE = "Choose your starting color to start new game! [b/w] "; + public static final String CHOOSE_PLAYER_COLOR_MESSAGE = "Choose your starting color to start new game! [b/w/exit] "; public static final String CHOOSE_PLAYER_COLOR_ERROR_MESSAGE = "Invalid input! Please enter either 'b' for Black or 'w' for White: "; public static final String START_NEW_GAME_MESSAGE = "Great! Starting new game as %s"; @@ -33,7 +33,7 @@ public class UiMessages { "Invalid piece! Enter b(Bishop), q(Queen), r(Rook) or n(Knight): "; public static final String CHOOSE_DIFFICULTY_MESSAGE = - "Choose difficulty level [1/2/3]: "; + "Choose difficulty level [1/2/3/exit]: "; public static final String CHOOSE_DIFFICULTY_ERROR_MESSAGE = "Invalid input! Please enter either '1', '2' or '3': "; From c829a7853556e3e59eb91f32119dd5c67e92349e Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Mon, 13 Nov 2023 21:08:29 +0800 Subject: [PATCH 15/54] fix checkstyle' --- src/main/java/chessmaster/ui/UiMessages.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/chessmaster/ui/UiMessages.java b/src/main/java/chessmaster/ui/UiMessages.java index 9a76c0c714..97bbbbfa98 100644 --- a/src/main/java/chessmaster/ui/UiMessages.java +++ b/src/main/java/chessmaster/ui/UiMessages.java @@ -17,7 +17,7 @@ public class UiMessages { "Invalid input! Please enter either 'y' for yes or 'n' for no: "; public static final String CONTINUE_PREV_GAME_MESSAGE = "Great! Continuing previous game as %s at difficulty %d"; - public static final String CHOOSE_PLAYER_COLOR_MESSAGE = "Choose your starting color to start new game! [b/w/exit] "; + public static final String CHOOSE_PLAYER_COLOR_MESSAGE = "Choose your starting color to start new game! [b/w/exit]"; public static final String CHOOSE_PLAYER_COLOR_ERROR_MESSAGE = "Invalid input! Please enter either 'b' for Black or 'w' for White: "; public static final String START_NEW_GAME_MESSAGE = "Great! Starting new game as %s"; From 466b9bb348f1a4fde1747b49336a3e299f156be3 Mon Sep 17 00:00:00 2001 From: Tricia Boo Koh Date: Mon, 13 Nov 2023 21:12:56 +0800 Subject: [PATCH 16/54] Update UG and DG --- docs/DeveloperGuide.md | 1 - docs/UserGuide.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index ecf5e4c4ef..7d76ca62e3 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -206,7 +206,6 @@ Here is a brief overview of how the storage handles the data storage: | v2.0 | new player | refresh the rules of chess anytime | recap and learn the rules of chess | | v2.0 | player | see past move history | recap through the gameplay | | v2.0 | player | see captured pieces | gauge the state of the game | -| v2.0 | new player | retract my past moves | learn from my mistakes and select a better move | ## Non-functional requirements diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 2499e80b40..d92bf96cee 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -16,7 +16,7 @@ ChessMasterCLI is a command-line interface (CLI) chess game designed to make lea - [Show chess rules: `rules`](#show-chess-rules-rules) - [Show commands: `help`](#show-commands-help) - [Legend: `legend`](#view-pieces-representation-legend) - - [Restart game: `restart`]() + - [Restart game: `restart`](#start-a-new-game-of-chess-restart) - [View history of game moves: `history`](#view-history-of-all-game-moves-history) - [Step back in history: `stepback`](#step-back-in-history-stepback) - [List pieces in play: `captured`](#list-pieces-in-play-captured) From b9d5726dbdef924e4d3726fd85134cdbce4b6860 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Mon, 13 Nov 2023 22:19:02 +0800 Subject: [PATCH 17/54] Add test for showMoveCommand --- ...andTest.java => ShowMovesCommandTest.java} | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) rename src/test/java/chessmaster/commands/{executeShowMovesCommandTest.java => ShowMovesCommandTest.java} (75%) diff --git a/src/test/java/chessmaster/commands/executeShowMovesCommandTest.java b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java similarity index 75% rename from src/test/java/chessmaster/commands/executeShowMovesCommandTest.java rename to src/test/java/chessmaster/commands/ShowMovesCommandTest.java index 973fab8f3c..3fa1fe9925 100644 --- a/src/test/java/chessmaster/commands/executeShowMovesCommandTest.java +++ b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java @@ -11,14 +11,14 @@ import chessmaster.user.Human; import org.junit.jupiter.api.Test; -import java.util.Arrays; - import static org.junit.jupiter.api.Assertions.*; -public class executeShowMovesCommandTest { +public class ShowMovesCommandTest { private static final String FILE_PATH_STRING = "data/ChessMaster.txt"; private static final String[] AVAILABLE_COORDINATES_STRING = {"Available coordinates for Pawn at e2: ", "e3 e4 " }; private static final String[] NO_AVAILABLE_STRING = {"There aren't any moves available for King at e1!"}; + public static final String[] NO_COORDINATE_FOUND_STRING = + {"Oops! Looks like you forgot to specify a coordinate!"}; private static final String AVAILABLE_COORDINATES_INPUT = "e2"; private static final String NO_AVAILABLE_INPUT = "e1"; private static final String NO_PIECE_INPUT = "e4"; @@ -34,7 +34,7 @@ public Game loadGame() { } @Test - public void testShowMoves_inputValid() throws ChessMasterException { + public void testExecute_inputValid() throws ChessMasterException { Game game = loadGame(); ShowMovesCommand commandHasPiece = new ShowMovesCommand(AVAILABLE_COORDINATES_INPUT); @@ -47,7 +47,17 @@ public void testShowMoves_inputValid() throws ChessMasterException { String[] noMoves = commandNoMoves.execute(game).getMessageStrings(); assertArrayEquals(noMoves, NO_AVAILABLE_STRING); - assertThrows(NullPieceException.class, + assertThrows(NullPieceException.class, () -> commandNoPiece.execute(game).getMessageStrings()); } + + @Test + public void testExecute_inputEmpty_expectNullPieceException() throws ChessMasterException { + Game game = loadGame(); + + ShowMovesCommand commandNoInput = new ShowMovesCommand(""); + + String[] noInput = commandNoInput.execute(game).getMessageStrings(); + assertArrayEquals(noInput, NO_COORDINATE_FOUND_STRING); + } } From 18b17aed99a158e17d84d369a425e5cc88a9ee1c Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 00:38:30 +0800 Subject: [PATCH 18/54] Add tests for ExecuteSavedMoves --- .../java/chessmaster/game/ChessBoard.java | 16 ++-- .../java/chessmaster/storage/Storage.java | 3 +- .../commands/ShowMovesCommandTest.java | 3 +- .../storage/ExecuteSavedMovesTest.java | 78 +++++++++++++++++++ .../chessmaster/storage/LoadCpuMovesTest.java | 21 +++++ .../storage/LoadHumanMovesTest.java | 21 +++++ 6 files changed, 135 insertions(+), 7 deletions(-) create mode 100644 src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java create mode 100644 src/test/java/chessmaster/storage/LoadCpuMovesTest.java create mode 100644 src/test/java/chessmaster/storage/LoadHumanMovesTest.java diff --git a/src/main/java/chessmaster/game/ChessBoard.java b/src/main/java/chessmaster/game/ChessBoard.java index 378d4ef52d..06a2e92274 100644 --- a/src/main/java/chessmaster/game/ChessBoard.java +++ b/src/main/java/chessmaster/game/ChessBoard.java @@ -26,7 +26,10 @@ public class ChessBoard { public static final int BOTTOM_ROW_INDEX = 7; public static final int MAX_PIECES = 16; public static final String PROMOTE_MOVE_STRING = "p"; - + public static final String INVALID_SAVE_STRING = + "Invalid move found in save file! Please start a new game or correct the invalid move!"; + public static final String INVALID_PROMOTE_STRING = + "Invalid promotion found in save file! Please start a new game or correct the invalid move!"; private static final String[][] STARTING_CHESSBOARD_BLACK = { { "r", "n", "b", "q", "k", "b", "n", "r" }, { "p", "p", "p", "p", "p", "p", "p", "p" }, @@ -502,7 +505,7 @@ public ChessBoard toBoard(String board) { return new ChessBoard(this.playerColor, boardTiles); } - //@@author ken-ruster + //@@author ken_ruster /** * Takes in an array of multiple moves, and executes them in order. Also updates the move history * stored in the human and CPU objects. @@ -521,7 +524,9 @@ public void executeMoveArray(ArrayList moves, Human human, CPU cpu) thro if (!isPromote) { Move toExecute = Parser.parseMove(move, this, false); - assert toExecute.isValid(this) : "Move in file is not valid!"; + if (!toExecute.isValid(this)) { + throw new InvalidMoveException(INVALID_SAVE_STRING); + } this.executeMove(toExecute); if (isPlayersTurn) { @@ -532,9 +537,10 @@ public void executeMoveArray(ArrayList moves, Human human, CPU cpu) thro } else { Coordinate coord = Coordinate.parseAlgebraicCoor(moveCommandArray[1]); ChessPiece oldPiece = this.getPieceAtCoor(coord); - assert this.canPromote(new Move(coord, coord, oldPiece)) - : "Move in file tries to make an invalid promotion!"; assert oldPiece instanceof Pawn; + if (!this.canPromote(new Move(coord, coord, oldPiece))) { + throw new InvalidMoveException(INVALID_PROMOTE_STRING); + } ChessPiece newPiece = Parser.parsePromote(oldPiece, moveCommandArray[2]); this.setPromotionPiece(coord, newPiece); diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index 36f02b9117..8bd5a67d6e 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -25,6 +25,7 @@ public class Storage { //@@author ken_ruster private static final String LOAD_BOARD_MISMATCH_STRING = "Board state does not match state dictated by move history!"; + private static final String PATH_EMPTY_STRING = "File path cannot be empty or null"; //@@author TriciaBK private String filePathString; private File storageFile; @@ -38,7 +39,7 @@ public class Storage { public Storage(String filePath) { filePathString = filePath; storageFile = new File(filePath); - assert !filePathString.isEmpty() && filePath != null : "File path cannot be empty or null"; + assert !filePathString.isEmpty() && filePath != null : PATH_EMPTY_STRING; } //@@author TongZhengHong diff --git a/src/test/java/chessmaster/commands/ShowMovesCommandTest.java b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java index 3fa1fe9925..c22da53865 100644 --- a/src/test/java/chessmaster/commands/ShowMovesCommandTest.java +++ b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java @@ -11,7 +11,8 @@ import chessmaster.user.Human; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; public class ShowMovesCommandTest { private static final String FILE_PATH_STRING = "data/ChessMaster.txt"; diff --git a/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java b/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java new file mode 100644 index 0000000000..9d22cb67e3 --- /dev/null +++ b/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java @@ -0,0 +1,78 @@ +package chessmaster.storage; + +import chessmaster.exceptions.ChessMasterException; +import chessmaster.exceptions.InvalidMoveException; +import chessmaster.exceptions.LoadBoardException; +import chessmaster.game.ChessBoard; +import chessmaster.game.ChessTile; +import chessmaster.game.Color; +import chessmaster.parser.Parser; +import chessmaster.pieces.ChessPiece; +import chessmaster.user.CPU; +import chessmaster.user.Human; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertThrows; + +public class ExecuteSavedMovesTest { + private static final String FILE_PATH_STRING = + "src/test/java/chessmaster/data/storageTest.txt"; + private static final String INVALID_FILE_PATH_STRING = + "src/test/java/chessmaster/data/storageTest_invalidMove.txt"; + private static final String[][] MOVED_CHESSBOARD = { + { "R", ".", "B", "Q", "K", "B", ".", "R" }, + { "P", "P", "P", ".", "P", ".", "P", "P" }, + { ".", ".", "N", ".", ".", ".", ".", "." }, + { ".", ".", ".", "P", ".", "P", ".", "." }, + { ".", ".", ".", "p", ".", "b", ".", "." }, + { ".", ".", "p", ".", ".", "n", ".", "." }, + { "p", "p", ".", "q", "p", "p", "p", "p" }, + { "r", ".", ".", ".", "k", "b", ".", "r" }, + }; + + private ChessBoard loadChessBoard() { + ChessTile[][] chessTiles = new ChessTile[ChessBoard.SIZE][ChessBoard.SIZE]; + for (int row = 0; row < ChessBoard.SIZE; row++) { + for (int col = 0; col < ChessBoard.SIZE; col++) { + String chessPieceString = MOVED_CHESSBOARD[row][col]; + ChessPiece initialPiece = Parser.parseChessPiece(chessPieceString, row, col); + chessTiles[row][col] = new ChessTile(initialPiece); + assert (chessTiles[row][col] != null); + } + } + return new ChessBoard(Color.WHITE, chessTiles); + } + + @Test + public void testExecuteSavedMoves_validMoves() throws ChessMasterException { + Storage storage = new Storage(FILE_PATH_STRING); + ChessBoard otherBoard = loadChessBoard(); + ChessBoard board = new ChessBoard(Color.WHITE); + Human human = new Human(Color.WHITE, board); + CPU cpu = new CPU(Color.BLACK, board); + + storage.executeSavedMoves(Color.WHITE, otherBoard, board, human, cpu); + } + @Test + public void testExecuteSavedMoves_invalidMoves_expectInvalidMoveException() throws ChessMasterException { + Storage storage = new Storage(INVALID_FILE_PATH_STRING); + ChessBoard otherBoard = loadChessBoard(); + ChessBoard board = new ChessBoard(Color.WHITE); + Human human = new Human(Color.WHITE, board); + CPU cpu = new CPU(Color.BLACK, board); + + assertThrows(InvalidMoveException.class, + () -> storage.executeSavedMoves(Color.WHITE, otherBoard, board, human, cpu)); + } + @Test + public void testExecuteSavedMoves_boardMismatch_expectLoadBoardException() throws ChessMasterException { + Storage storage = new Storage(FILE_PATH_STRING); + ChessBoard otherBoard = new ChessBoard(Color.WHITE); + ChessBoard board = new ChessBoard(Color.WHITE); + Human human = new Human(Color.WHITE, board); + CPU cpu = new CPU(Color.BLACK, board); + + assertThrows(LoadBoardException.class, + () -> storage.executeSavedMoves(Color.WHITE, otherBoard, board, human, cpu)); + } +} diff --git a/src/test/java/chessmaster/storage/LoadCpuMovesTest.java b/src/test/java/chessmaster/storage/LoadCpuMovesTest.java new file mode 100644 index 0000000000..6bec5ece2b --- /dev/null +++ b/src/test/java/chessmaster/storage/LoadCpuMovesTest.java @@ -0,0 +1,21 @@ +package chessmaster.storage; + +import chessmaster.exceptions.ChessMasterException; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class LoadCpuMovesTest { + private static final String[] EXPECTED_LIST = {"g8 f6", "b8 c6", "d7 d5", "f6 e4", "e4 d2", "f7 f5"}; + private static final String FILE_PATH_STRING = "src/test/java/chessmaster/data/storageTest.txt"; + Storage storage = new Storage(FILE_PATH_STRING); + + @Test + public void testLoadCPUMoves_validString() throws ChessMasterException { + ArrayList compareList = storage.loadCPUMoves(); + assertTrue(compareList.equals(Arrays.asList(EXPECTED_LIST))); + } +} diff --git a/src/test/java/chessmaster/storage/LoadHumanMovesTest.java b/src/test/java/chessmaster/storage/LoadHumanMovesTest.java new file mode 100644 index 0000000000..580d6a955c --- /dev/null +++ b/src/test/java/chessmaster/storage/LoadHumanMovesTest.java @@ -0,0 +1,21 @@ +package chessmaster.storage; + +import chessmaster.exceptions.ChessMasterException; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class LoadHumanMovesTest { + private static final String[] EXPECTED_LIST = {"d2 d4", "g1 f3", "c1 f4", "c2 c3", "b1 d2", "d1 d2"}; + private static final String FILE_PATH_STRING = "src/test/java/chessmaster/data/storageTest.txt"; + Storage storage = new Storage(FILE_PATH_STRING); + + @Test + public void testLoadHumanMoves_validString() throws ChessMasterException { + ArrayList compareList = storage.loadHumanMoves(); + assertTrue(compareList.equals(Arrays.asList(EXPECTED_LIST))); + } +} From 26dc2247b03c62b55f38092e0048cba5a8b9044a Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 00:44:36 +0800 Subject: [PATCH 19/54] Correct tests for ShowMovesCommand --- .../java/chessmaster/commands/ShowMovesCommandTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/java/chessmaster/commands/ShowMovesCommandTest.java b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java index c22da53865..3c0bbbf020 100644 --- a/src/test/java/chessmaster/commands/ShowMovesCommandTest.java +++ b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java @@ -19,7 +19,9 @@ public class ShowMovesCommandTest { private static final String[] AVAILABLE_COORDINATES_STRING = {"Available coordinates for Pawn at e2: ", "e3 e4 " }; private static final String[] NO_AVAILABLE_STRING = {"There aren't any moves available for King at e1!"}; public static final String[] NO_COORDINATE_FOUND_STRING = - {"Oops! Looks like you forgot to specify a coordinate!"}; + {"Oops! Looks like you forgot to specify a coordinate!" + , "Format: moves [column][row]" + , "Example: moves a2"}; private static final String AVAILABLE_COORDINATES_INPUT = "e2"; private static final String NO_AVAILABLE_INPUT = "e1"; private static final String NO_PIECE_INPUT = "e4"; @@ -53,7 +55,7 @@ public void testExecute_inputValid() throws ChessMasterException { } @Test - public void testExecute_inputEmpty_expectNullPieceException() throws ChessMasterException { + public void testExecute_inputEmpty() throws ChessMasterException { Game game = loadGame(); ShowMovesCommand commandNoInput = new ShowMovesCommand(""); From 25f0c0ab8861a66659f71f93767476eb7d01b0a3 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 00:46:43 +0800 Subject: [PATCH 20/54] Correct checkStyle --- .../java/chessmaster/commands/ShowMovesCommandTest.java | 8 ++++---- src/test/java/chessmaster/parser/ParsePromoteTest.java | 7 ++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/test/java/chessmaster/commands/ShowMovesCommandTest.java b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java index 3c0bbbf020..6d7f8205a1 100644 --- a/src/test/java/chessmaster/commands/ShowMovesCommandTest.java +++ b/src/test/java/chessmaster/commands/ShowMovesCommandTest.java @@ -18,10 +18,10 @@ public class ShowMovesCommandTest { private static final String FILE_PATH_STRING = "data/ChessMaster.txt"; private static final String[] AVAILABLE_COORDINATES_STRING = {"Available coordinates for Pawn at e2: ", "e3 e4 " }; private static final String[] NO_AVAILABLE_STRING = {"There aren't any moves available for King at e1!"}; - public static final String[] NO_COORDINATE_FOUND_STRING = - {"Oops! Looks like you forgot to specify a coordinate!" - , "Format: moves [column][row]" - , "Example: moves a2"}; + private static final String[] NO_COORDINATE_FOUND_STRING = + {"Oops! Looks like you forgot to specify a coordinate!" + , "Format: moves [column][row]" + , "Example: moves a2"}; private static final String AVAILABLE_COORDINATES_INPUT = "e2"; private static final String NO_AVAILABLE_INPUT = "e1"; private static final String NO_PIECE_INPUT = "e4"; diff --git a/src/test/java/chessmaster/parser/ParsePromoteTest.java b/src/test/java/chessmaster/parser/ParsePromoteTest.java index f0c251c575..8efe31b105 100644 --- a/src/test/java/chessmaster/parser/ParsePromoteTest.java +++ b/src/test/java/chessmaster/parser/ParsePromoteTest.java @@ -2,7 +2,12 @@ package chessmaster.parser; import chessmaster.game.Color; -import chessmaster.pieces.*; +import chessmaster.pieces.Bishop; +import chessmaster.pieces.ChessPiece; +import chessmaster.pieces.Knight; +import chessmaster.pieces.Pawn; +import chessmaster.pieces.Queen; +import chessmaster.pieces.Rook; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; From 2e8598738f01b44fb8c3fc91cca471087a25b272 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 01:02:23 +0800 Subject: [PATCH 21/54] Add test for executeMoveArray --- .../java/chessmaster/game/ChessBoardTest.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/test/java/chessmaster/game/ChessBoardTest.java b/src/test/java/chessmaster/game/ChessBoardTest.java index c1fb8d839b..e0b337b2a7 100644 --- a/src/test/java/chessmaster/game/ChessBoardTest.java +++ b/src/test/java/chessmaster/game/ChessBoardTest.java @@ -1,12 +1,49 @@ package chessmaster.game; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import chessmaster.exceptions.ChessMasterException; +import chessmaster.parser.Parser; +import chessmaster.pieces.ChessPiece; +import chessmaster.user.CPU; +import chessmaster.user.Human; import org.junit.jupiter.api.Test; import chessmaster.ui.TextUI; +import java.util.ArrayList; +import java.util.Arrays; + public class ChessBoardTest { + private static final String[] MOVE_STRING_ARRAY = + {"d2 d4", "g8 f6", "g1 f3", "b8 c6", "c1 f4", "d7 d5", + "c2 c3", "f6 e4", "b1 d2", "e4 d2", "d1 d2", "f7 f5"}; + private static final String[][] MOVED_CHESSBOARD = { + { "R", ".", "B", "Q", "K", "B", ".", "R" }, + { "P", "P", "P", ".", "P", ".", "P", "P" }, + { ".", ".", "N", ".", ".", ".", ".", "." }, + { ".", ".", ".", "P", ".", "P", ".", "." }, + { ".", ".", ".", "p", ".", "b", ".", "." }, + { ".", ".", "p", ".", ".", "n", ".", "." }, + { "p", "p", ".", "q", "p", "p", "p", "p" }, + { "r", ".", ".", ".", "k", "b", ".", "r" }, + }; + + private ChessBoard loadChessBoard() { + ChessTile[][] chessTiles = new ChessTile[ChessBoard.SIZE][ChessBoard.SIZE]; + for (int row = 0; row < ChessBoard.SIZE; row++) { + for (int col = 0; col < ChessBoard.SIZE; col++) { + String chessPieceString = MOVED_CHESSBOARD[row][col]; + ChessPiece initialPiece = Parser.parseChessPiece(chessPieceString, row, col); + chessTiles[row][col] = new ChessTile(initialPiece); + assert (chessTiles[row][col] != null); + } + } + return new ChessBoard(Color.WHITE, chessTiles); + } + // @@author onx001 @Test public void pointTest() { @@ -17,4 +54,21 @@ public void pointTest() { int points = board.getPoints(Color.WHITE); assertEquals(0, points); } + //@@author ken_ruster + @Test + public void executeMoveArrayTest() throws ChessMasterException { + ChessBoard board = new ChessBoard(Color.WHITE); + Human human = new Human(Color.WHITE, board); + CPU cpu = new CPU(Color.BLACK, board); + ArrayList moveList = new ArrayList(); + for (String moveString: MOVE_STRING_ARRAY) { + moveList.add(moveString); + } + + board.executeMoveArray(moveList, human, cpu); + + ChessBoard otherBoard = loadChessBoard(); + + assertTrue(board.equals(otherBoard)); + } } From ce1009c16129530213a82ee822a5680640f11e41 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 01:30:56 +0800 Subject: [PATCH 22/54] Correct checkStyle --- src/test/java/chessmaster/game/ChessBoardTest.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/test/java/chessmaster/game/ChessBoardTest.java b/src/test/java/chessmaster/game/ChessBoardTest.java index e0b337b2a7..b7967c109a 100644 --- a/src/test/java/chessmaster/game/ChessBoardTest.java +++ b/src/test/java/chessmaster/game/ChessBoardTest.java @@ -13,13 +13,12 @@ import chessmaster.ui.TextUI; import java.util.ArrayList; -import java.util.Arrays; public class ChessBoardTest { private static final String[] MOVE_STRING_ARRAY = - {"d2 d4", "g8 f6", "g1 f3", "b8 c6", "c1 f4", "d7 d5", - "c2 c3", "f6 e4", "b1 d2", "e4 d2", "d1 d2", "f7 f5"}; + {"d2 d4", "g8 f6", "g1 f3", "b8 c6", "c1 f4", "d7 d5", + "c2 c3", "f6 e4", "b1 d2", "e4 d2", "d1 d2", "f7 f5"}; private static final String[][] MOVED_CHESSBOARD = { { "R", ".", "B", "Q", "K", "B", ".", "R" }, { "P", "P", "P", ".", "P", ".", "P", "P" }, From 8b590fe3e5865930758c57280ea3af2c89de5a27 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 01:32:43 +0800 Subject: [PATCH 23/54] Correct CI tests --- .../chessmaster/test_data/storageTest.txt | 21 +++++++++++++++++++ .../test_data/storageTest_invalidMove.txt | 21 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/test/java/chessmaster/test_data/storageTest.txt create mode 100644 src/test/java/chessmaster/test_data/storageTest_invalidMove.txt diff --git a/src/test/java/chessmaster/test_data/storageTest.txt b/src/test/java/chessmaster/test_data/storageTest.txt new file mode 100644 index 0000000000..7563d563df --- /dev/null +++ b/src/test/java/chessmaster/test_data/storageTest.txt @@ -0,0 +1,21 @@ +WHITE +2 +WHITE +d2 d4, g1 f3, c1 f4, c2 c3, b1 d2, d1 d2 +g8 f6, b8 c6, d7 d5, f6 e4, e4 d2, f7 f5 +R.BQKB.R +PPP.P.PP +..N..... +...P.P.. +...p.b.. +..p..n.. +pp.qpppp +r...kb.r +00000000 +00000000 +00100000 +00010100 +00010100 +00100100 +00010000 +00000000 \ No newline at end of file diff --git a/src/test/java/chessmaster/test_data/storageTest_invalidMove.txt b/src/test/java/chessmaster/test_data/storageTest_invalidMove.txt new file mode 100644 index 0000000000..91085efa65 --- /dev/null +++ b/src/test/java/chessmaster/test_data/storageTest_invalidMove.txt @@ -0,0 +1,21 @@ +WHITE +2 +WHITE +d2 d5, g1 f3, c1 f4, c2 c3, b1 d2, d1 d2 +g8 f6, b8 c6, d7 d5, f6 e4, e4 d2, f7 f5 +R.BQKB.R +PPP.P.PP +..N..... +...P.P.. +...p.b.. +..p..n.. +pp.qpppp +r...kb.r +00000000 +00000000 +00100000 +00010100 +00010100 +00100100 +00010000 +00000000 \ No newline at end of file From a0f0648fee110dc615daafa85366d66ef4f40b34 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 01:48:50 +0800 Subject: [PATCH 24/54] Update PPP --- docs/team/ken-ruster.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/team/ken-ruster.md b/docs/team/ken-ruster.md index 73bb5d5b37..264998f16d 100644 --- a/docs/team/ken-ruster.md +++ b/docs/team/ken-ruster.md @@ -4,12 +4,22 @@ ChessMaster is a desktop application targeted at chess beginners for them to be able to learn chess on the go. Users interact with it using the CLI, and its simplicity means that even low-end machines should be able to run it. +### Code contributions: [RepoSense Link](https://nus-cs2113-ay2324s1.github.io/tp-dashboard/?search=ken-ruster&breakdown=false&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos) + Given below are my contributions to the project: +- **New Feature**: Move class + - A class representing a move to be made. + - Includes the coordinates from and to of the move, as well as the piece involved to check for validity later. - **New Feature**: Checking for the validity of the save file. - Justification: To make sure that the move history and current board state match. Prevents the user from making illegal moves via changing the save file. - Highlights: The implementation required a revision to the structure used to save the file. It required implementing a `PromoteMove` class as well to store possible promotions. + - How it works: + - Move history is stored in the .txt file + - When the game is loaded, the moves are executed in the exact order they were stored in. + - The board it was executed on then is passed into the Game to be run after being checked against the saved board state. + - By doing this, we are able to ensure the History, Stepback and Captured commands are able to work normally after a saved game is loaded. - **New feature**: Displaying valid moves for a piece - Justification: New players may not be able to tell how certain pieces move. This feature assists them in learning how the game works in an accessible manner. @@ -23,11 +33,15 @@ Given below are my contributions to the project: - **Project Management**: - Managed bug testing and checkStyle adherence for releases `1.0` and `2.0` - **Enhancements to existing features**: - - Added additional tests for existing features + - Added additional tests for existing features, including: + - `parsePromote` + - `ShowMovesCommand` + - `executeSavedMoves`, `loadHumanMoves()` and `loadCPUMoves()` in `Storage` + - `executeMoveArray` in `ChessBoard` - **Documentation**: - Developer Guide: - Added documentation for the `Parser` and `Command` subclasses - User Guide: - Added documentation for the Features section - Updated the Command Summary - - Added the FAQ section + - Added and wrote the FAQ section From 4d663ae920db564b66abc6f7d11b1bf152928e5b Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 01:51:58 +0800 Subject: [PATCH 25/54] Update reposense --- src/main/java/chessmaster/game/ChessBoard.java | 2 +- src/main/java/chessmaster/storage/Storage.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/chessmaster/game/ChessBoard.java b/src/main/java/chessmaster/game/ChessBoard.java index 06a2e92274..264058efab 100644 --- a/src/main/java/chessmaster/game/ChessBoard.java +++ b/src/main/java/chessmaster/game/ChessBoard.java @@ -505,7 +505,7 @@ public ChessBoard toBoard(String board) { return new ChessBoard(this.playerColor, boardTiles); } - //@@author ken_ruster + //@@author ken-ruster /** * Takes in an array of multiple moves, and executes them in order. Also updates the move history * stored in the human and CPU objects. diff --git a/src/main/java/chessmaster/storage/Storage.java b/src/main/java/chessmaster/storage/Storage.java index 8bd5a67d6e..94a68bb02a 100644 --- a/src/main/java/chessmaster/storage/Storage.java +++ b/src/main/java/chessmaster/storage/Storage.java @@ -215,6 +215,7 @@ public ChessTile[][] loadBoard() throws ChessMasterException { return boardTiles; } + //@@author ken-ruster /** * Executes moves saved in the txt file so that it can be checked against the save board state. * Also stores the saved move history of both the human and CPU. @@ -427,6 +428,7 @@ public String getFilePath() { return this.filePathString; } + //@@author ken-ruster /** * Loads the history of moves made by the human player in the saved game. * Parses the moves into Move objects, and returns a null array if no moves were found. From fe98b6f8c02ff266dbedf87ae8fc10d2bbd29da1 Mon Sep 17 00:00:00 2001 From: ken_ruster Date: Tue, 14 Nov 2023 01:59:08 +0800 Subject: [PATCH 26/54] Fix CI checks --- src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java | 4 ++-- src/test/java/chessmaster/storage/LoadCpuMovesTest.java | 2 +- src/test/java/chessmaster/storage/LoadHumanMovesTest.java | 2 +- .../{java/chessmaster/test_data => resources}/storageTest.txt | 0 .../test_data => resources}/storageTest_invalidMove.txt | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename src/test/{java/chessmaster/test_data => resources}/storageTest.txt (100%) rename src/test/{java/chessmaster/test_data => resources}/storageTest_invalidMove.txt (100%) diff --git a/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java b/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java index 9d22cb67e3..8b235706b0 100644 --- a/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java +++ b/src/test/java/chessmaster/storage/ExecuteSavedMovesTest.java @@ -16,9 +16,9 @@ public class ExecuteSavedMovesTest { private static final String FILE_PATH_STRING = - "src/test/java/chessmaster/data/storageTest.txt"; + "src/test/resources/storageTest.txt"; private static final String INVALID_FILE_PATH_STRING = - "src/test/java/chessmaster/data/storageTest_invalidMove.txt"; + "src/test/resources/storageTest_invalidMove.txt"; private static final String[][] MOVED_CHESSBOARD = { { "R", ".", "B", "Q", "K", "B", ".", "R" }, { "P", "P", "P", ".", "P", ".", "P", "P" }, diff --git a/src/test/java/chessmaster/storage/LoadCpuMovesTest.java b/src/test/java/chessmaster/storage/LoadCpuMovesTest.java index 6bec5ece2b..e3f8c411d2 100644 --- a/src/test/java/chessmaster/storage/LoadCpuMovesTest.java +++ b/src/test/java/chessmaster/storage/LoadCpuMovesTest.java @@ -10,7 +10,7 @@ public class LoadCpuMovesTest { private static final String[] EXPECTED_LIST = {"g8 f6", "b8 c6", "d7 d5", "f6 e4", "e4 d2", "f7 f5"}; - private static final String FILE_PATH_STRING = "src/test/java/chessmaster/data/storageTest.txt"; + private static final String FILE_PATH_STRING = "src/test/resources/storageTest.txt"; Storage storage = new Storage(FILE_PATH_STRING); @Test diff --git a/src/test/java/chessmaster/storage/LoadHumanMovesTest.java b/src/test/java/chessmaster/storage/LoadHumanMovesTest.java index 580d6a955c..f8a6451ee7 100644 --- a/src/test/java/chessmaster/storage/LoadHumanMovesTest.java +++ b/src/test/java/chessmaster/storage/LoadHumanMovesTest.java @@ -10,7 +10,7 @@ public class LoadHumanMovesTest { private static final String[] EXPECTED_LIST = {"d2 d4", "g1 f3", "c1 f4", "c2 c3", "b1 d2", "d1 d2"}; - private static final String FILE_PATH_STRING = "src/test/java/chessmaster/data/storageTest.txt"; + private static final String FILE_PATH_STRING = "src/test/resources/storageTest.txt"; Storage storage = new Storage(FILE_PATH_STRING); @Test diff --git a/src/test/java/chessmaster/test_data/storageTest.txt b/src/test/resources/storageTest.txt similarity index 100% rename from src/test/java/chessmaster/test_data/storageTest.txt rename to src/test/resources/storageTest.txt diff --git a/src/test/java/chessmaster/test_data/storageTest_invalidMove.txt b/src/test/resources/storageTest_invalidMove.txt similarity index 100% rename from src/test/java/chessmaster/test_data/storageTest_invalidMove.txt rename to src/test/resources/storageTest_invalidMove.txt From 74d3956106fa933535f52bb08ca9604825235254 Mon Sep 17 00:00:00 2001 From: Tong Zheng Hong Date: Tue, 14 Nov 2023 03:30:37 +0800 Subject: [PATCH 27/54] Test fix ug formatting of chessboard --- docs/UserGuide.md | 68 ++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d92bf96cee..f1e71c41ed 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -96,7 +96,7 @@ Additionally, every time a move is executed, ChessMaster provides a comprehensiv