This group project implements a War Game using the Model-View-Controller (MVC) architecture in Java. The game features a graphical interface built with Java2D and Java Swing, allowing players to interact with the game visually. Additionally, it includes a suite of JUnit tests to ensure code reliability.
- MVC architecture for structured design.
- Graphic Interface using Java2D and Swing.
- Card-based War Game implementation.
- You can save the game state mid-play in your machine
- JUnit tests for thorough code testing.
- Interfaces Singleton, Facade and Observer implemented.
-
You can choose between starting a new game, or picking up a already started match, by a text file in your machine.
-
After the game has started, folowing the rules of the original game, you start to arrange the troops in the countries
- You attack by selecting the countries that the enemies control. You can only attack a country if you have more than one army stationed there. Through testing methods, you can manipulate the outcome of the dice or roll it randomly in a normal game.
- If a player has conquered a country, they receive a territory card, which can be used to exchange for new armies.
- You can save the game mid-match by creating a log in a text file. Modifying the values in the text file can alter any aspect of the game. For testing purposes, we utilized this method to test the completion of objectives and determine the winner.