0.6.0 (2023-03-14)
- center game configuration page (3da1e35)
- center main menu page (e64767d)
- change Promote API + fix turn changed (67a30aa)
- change VerticleExecutor to remove the task from the pending tasks when its execution is completed (531baf7)
- deps: update dependency io.vertx:vertx-core to v4.4.0 (3990e51)
- deps: update dependency org.wartremover:wartremover_3.2.2 to v3.0.11 (bfb635b)
- initialize all the Prolog Rules when starting the game (f0d876e)
- remove unused parameter + not needed brackets (6bdda25)
- run promotion painting on correct thread (2c8ef22)
- create check notification (2f718be)
0.5.0 (2023-03-07)
- add pawn checks that don't let it move outside the board (8762939)
- add the cause to the game termination window (f281b0f)
- avoid computing double step on some ranks (137b380)
- avoid going outside the board limits in Pawn Capture Spec (271a226)
- change game to run on an event loop and to have a state (bf7d57b)
- improve first move check of the pawn (fe9fd67)
- remove unused javafx + scalafmt dependencies from jar (ee00a0b)
- set promotion dialog not closeable in any way (11f9f46)
- set stage not resizable as default (3871c36)
- solve adversary pieces being selectable on some occasions (d15b923)
- solve rebase issues (a86aa12)
- unsubscribe to events at the end of the game (61278d4)
- add timer constraint per player (341cc21)
- remove useless timer stopping (7ba49c6)
0.4.0 (2023-02-27)
- add capturing piece highlight (833a09c)
- add piece deselection (dcfa0b8)
- avoid moving a piece to a position that would cause a check to the current player and clean up code (ce24a16)
- change pawn capture rule to provide CaptureMoves instead of normal Moves (3288634)
- deps: update dependency org.scala-lang:scala3-library_3 to v3.2.2 (8f9ed69)
- edit Diagonal and Straight Rules to work with the generic capture analysis (68bcaef)
- fix capture move to create a CaptureMove instead of a Move (041b506)
- fix piece deselection + piece selection only if it's current team turn (ec4b6c3)
- Improve rule creation to avoid duplicating prolog engines (197818e)
- make model components immutable (9cb5a86)
- solve pawns not being able to capture on File H (6a0f937)
- switch turn after a move (04fffb8)
- add avoid self check mixin (956b707)
- add capture analyzis to the King and the Knight (1373aa4)
- add chess board situation interface (9eb1475)
- add en passant rule and fix move history not being filled (602e196)
- add events that update the view after each move (a4de5b4)
- add funtionality that alternate turn between players (3b0ca03)
- add game over conditions (checkmate, stale, surrender, timeout) (0437318)
- add generic rules to analyze captures for any piece (96972d5)
- add progress indicator when starting the game (9279cde)
- add promotion feature (8ba95d3)
- add the visualization of the initial state of a game (bfb5b6d)
- add timer mode per move (b679648)
- create game configuration + update related view (8b8e67c)
- remove chess board situation interface and add chess game analyzer (a16c9fb)
0.3.0 (2023-02-20)
- remove pawn moves dependency on the turn and remove capture moves with no adversaries (28bea0d)
- add basic implementation of the chess game state and the move history (af695ec)
- add interfaces for the chess game state and the move history (783be06)
- add Pawn rule and textual fix to Pawn specifications (be93e3f)
- add Pawn rule that lets it move one step forward. (4142951)
- add Pawn rule that lets it move two steps forward (50ee6c3)
- add prolog rules for the NE and NW diagonal moves. (db6013f)
- add rook and queen chess rules (ec60220)
- add the finding of all moving positions of a Pawn (330e591)
- add the finding of the capture moves to the pawn rules (3df15fa)
- create castling move + refactoring (07027b9)
- create diagonal rules + create bishop (44a78ce)
- create king movement rule + castling rule (49fa73f)
- create knight with its L rule (660030a)
- create prolog engine + model rules (19d2e4a)
- integration: change chess engine service api and integrate the chess application with the chess engine service (9b3ea0b)
- reduce diagonal moves checking the current status (48ff767)
0.2.0 (2023-02-13)
- dependency: add ScalaFX and JavaFX dependencies (2321757)
- model: change pawn movement and team turn temporarily (a2afe54)
- solve the issue related to the change of the turn after making a not acceptable move and add tests for the chess board. (54e7c82)
- add chess board factory and Position to Move mapping. (5eccff4)
- add missing chess board functionalities and the relative tests. (6b8b303)
- add Team concept and implement ChessBoard. (f1f453e)
- define chess board base models (79959aa)
- gui: add component organization into pages and page-controllers. (7eb5230)
- gui: add game page and game page controller (80ff368)
- implement base hexagonal architecture components (bb8a98a)
- implement branch-related traits + test (19b5200)