A turn-based monster battling game built in Java. Build your team, fight opponents, visit the shop, and survive as many days as possible to achieve the highest score.
Available in two versions: a graphical (GUI) edition and a command-line (CMD) edition.
- Choose a difficulty (Easy, Normal, or Hard) and a game length (5–15 days).
- Start with a roster of monsters and use gold to buy new monsters and items from the Shop.
- Each day, fight battles against opponent teams to earn gold and score points.
- At the end of each day, Sleep to advance to the next day — the shop refreshes, your monsters heal, and random events may occur.
- The game ends when the final day is reached. Aim for the highest score!
| Monster | Play Style |
|---|---|
| Average Joe | Balanced stats — a safe all-rounder |
| Chunky | High HP, built to tank hits |
| Lanky | Fast attacker with high damage output |
| Shanny | Specialises in healing |
| Raka | High critical-hit rate |
| Zap | Unique electric-type abilities |
| Item | Effect |
|---|---|
| Health Potion | Restores a monster's health |
| Damage Potion | Permanently increases a monster's damage |
| Crit Potion | Permanently increases a monster's critical-hit rate |
| Level Potion | Instantly levels up a monster |
- Java JDK 17 or later — download from oracle.com/java/technologies/downloads
Verify your installation by running:
java -versionExpected output (version 17 or higher):
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)
-
Extract the ZIP file.
-
Open a terminal and navigate to the extracted folder:
cd /path/to/extracted-folder -
Run the desired version:
GUI version:
java -jar fha62_zrc13_MonsterFighter_GUI.jar
Command-line version:
java -jar fha62_zrc13_MonsterFighter_CMD.jar
- Open Eclipse and go to File → Import.
- Under General, double-click Existing Projects into Workspace.
- Click Browse and navigate to the extracted folder.
- Select the
MonsterFighterfolder and click Select Folder. - Ensure MonsterFighter is checked in the Projects list.
- Click Finish.
src/
├── main/ # Core game logic (GameEnvironment, Shop, Battle, Player, …)
├── monsters/ # Monster classes (AverageJoe, Chunky, Lanky, Shanny, Raka, Zap)
├── items/ # Item classes (HealthPotion, DamagePotion, CritPotion, LevelPotion)
├── gui/ # Swing-based GUI screens
├── exceptions/ # Custom exceptions
└── test/ # Unit tests
diagrams/ # UML diagrams
doc/ # Javadoc
Report.pdf # Project report
- UML diagrams —
diagrams/folder - Project report —
Report.pdf - Javadoc —
doc/folder
- Monster sprites: pipoya.itch.io/free-rpg-monster-pack
- UI icons: josupixel.itch.io/20iconsrpgassets