This was originally a part of my university coursework, but then I've decided to post it here.
- Graphics - SFML
- Visual Studio 19
- A lot of coffee
- Randomly-generated labyrinths
- Intelligent
or not reallyenemies - 10 programming patterns
There is a list of patterns that we were used throughout the code and their usage. Most of them are implemented correctly while some may seem a bit odd.
- Singleton - to have only one object of Field class.
- Iterator - to iterate over the Field object.
- Abstract Factory - for creating the items.
- Strategy - to change how player interact with the items during the game.
- Observer - to make logs.
- Bridge - to separate Logging classes abstractions and implementations.
- Commands - for performing game actions.
- Facade - for separating game logic class.
- State - to change turns between player and enemies.
- Memento - to make a Save/Load function.
- Eller's Algorithm - used to generate random labyrinths.
- Lee Algorithm - used to find the optimal path for the enemies.