During the Fall of 2019, we made a Java application for a popular board game, Quoridor.
There are two players in the game, each strating on one side of the board. Each player gets 10 walls in their stock. The objective of the game is to reach the other side of the board. On a player's turn, the player has the option to move one tile or to place a wall.
Walls can only be placed if each player is capable of reaching the opposite side of the board: no player can be blocked. A player can jump over another player.
Used Umple to create a Domain Model for the project. Also created a UML State Machine to know the state of a player with respect to wall positioning.
Coded in Java using Eclipse. Used behavior-driven developement test practices by using Gherkin Step Definitions, coded in Cucumber.
Followed Agile practices. Divided the project into 5 different sprints, and had a final demo.