Skip to content

Repository for the Software Development Method course's project

License

Notifications You must be signed in to change notification settings

matteoferfoglia/gomoku

 
 

Repository files navigation

Build Status

Gomoku

Repository for the Software Development Method course's project (A.Y. 2020-2021).

What is Gomoku

Gomoku, also called Five in a Row, is an abstract strategy board game. It is traditionally played with Go pieces (black and white stones) on a Go board. It is played using a 15×15 board, while in the past a 19×19 board was standard. Because pieces are typically not moved or removed from the board, gomoku may also be played as a paper-and-pencil game. The game is known in several countries under different names.

Rules

Players alternate turns placing a stone of their color on an empty intersection. Black plays first. The winner is the first player to form an unbroken chain of five stones horizontally, vertically, or diagonally. Placing so that a line of more than five stones of the same color is created does not result in a win. These are called overlines.

Structure

The main packages:

  • model, in this part there is the model for the game
  • mvvm_library, in this package there are some interfaces and abstract classes that are the base for the implementation of the Model-View-Viewmodel paradigm
  • ui, this is the package for the user-interface where there are the MainViewmodel and 3 packages:
    • cli, command line interface package
    • gui, graphical user interface package
    • support, some support classes that are used in both cli and gui

Screenshots from the GUI

Start view

Where users can setup the match. startView

Main view

During the execution of a game. mainView

Summary view

Summarizes the result of the last game. summaryView

Demo

Example of a CPU vs CPU game. cpu-vs-cpu