This project contains a C# implementation of the classic board game Risk. The game involves strategic conquest and control of territories on a world map. Players aim to dominate the world by controlling all territories through battles and strategic planning. Furthermore, the project also will contain a webservice and a database for the project which will allow players to submit their own Risk AI's to battle each other on the website.
Risk/: Contains the main game logic and implementation.Game.cs: Core game mechanics and rules.Player.cs: Player-related logic and attributes.Territory.cs: Territory-related logic and attributes.
Risk.Tests/: Contains unit tests for the game logic.GameTests.cs: Unit tests for game mechanics.PlayerTests.cs: Unit tests for player logic.TerritoryTests.cs: Unit tests for territory logic.
data/: Contains JSON data files used by the game.territories.json: JSON file containing the territories and their adjacent territories.
- .NET SDK
- A compatible IDE (e.g., JetBrains Rider)
To build the project, run the following command:
./build.shTo run the project, run the following command:
./run.shTo run the project tests, run the following command:
./test.sh