Team members:
The game can have bot players, remote players, and observers. It is a turn-based strategy game played on a hexagonal map, with each player being assigned five different tanks. Each game is uniquely identified by its name, and the same goes for each player joining that game. When starting the game you will be greeted by a menu screen where you can change the game configuration as you wish. After starting the game and waiting for all the players to join, a simulation will play out in which the different players will battle each other, until the game ends in a draw or a winner is determined.
Set the project workspace to the folder which contains main.py, start the Python virtual environment (if you are using an IDE), or just start the game by running the command py .\main.py
with the project root as your current directory, and follow the on-screen instructions!
Python 3.11 <= is required.
Make sure to install all the required packages in requirements.txt.
For testing remote games run the remote_game_create and remote_game_join modules separately, with the same project workspace as for the previously named. For other tests configure the parameters and run the wanted modules separately.
A simplified version of the project structure can be seen here:
The DisplayManager is the top-level entry point of the program, but the Game class can be run and configured itself without it, in which case no window will be rendered, and only console output can be seen.