Refactor a large codebase whilst maintaining a high level of documentation.
Run the App.java file in src/main/java.
The initial project was a dungeon exploring game with a few different enemies, items, and a goal to reach the exit. Various refactors were done including:
- Making the enemies, items, and goals more extensible
- Using design patterns such as strategy pattern instead of duplicating code.
- Creating new enemies, items, and goals.
- Adding a simple combination system where items could be combined to form other ones.
Tests were written for each new feature, available in src/test/java/.