Skip to content

Latest commit

 

History

History
49 lines (26 loc) · 2.24 KB

File metadata and controls

49 lines (26 loc) · 2.24 KB

Stones Game (Homework Project)

Stones Game is a two-player game played on a 3*3 board. The objective of the game is to have three stones of the same color in a row, column, or diagonal.

Rules

  • The game is played with two players.

1

  • The board is initially empty.

2

  • Players take turns placing stones onto the board.
  • The stones come in three colors: red, yellow, and green.

4

  • The first player places a red stone onto an empty cell.

3

  • On turns, players can replace a red stone with a yellow stone or a yellow stone with a green stone.

5

  • The game ends when a player has three stones of the same color in a row, column, or diagonal.
  • The player who makes the winning move wins the game.

6

  • After the game ends, the leaderboard is updated with the Top 5 players based on their wins count.

7

Project tech stack and workflow:

  • JavaFX SceneBuilder was used to build the Graphical User Interface.
  • The project was built using Maven buildtool, following Model-View-Controller (MVC) architectural pattern, and implementing all SOLID principles and clean code principles. Unit tests were made for the model classes using JUnit5.
  • Plugins like Maven Javadoc, Maven JXR, Maven Checkstyle, Maven Surefire Report, JaCoCo Maven were used to generate reports to be displayed on project site.
  • Jackson JSON processor was used to store game results in a json file to maintain a form of database.
  • Tinylog 2 framework was used to perform lightweight logging for the project.