T. Rex Runner Game is a desktop game about avoiding obstacles with a running dinosaur and getting the highest score possible. The difficulty level increases as you progress.
Bridge- separating the abstraction of division of units from their implementation allowing them to change independently of each otherBuilder- separation of the structure of a graphical component with a complex structure from its representation. The same construction process is used to create graphics for different types of unitsFactory- creating a component that supports the physics of different types of units without specifying their specific classesSingleton- ensuring that the main character (dinosaur) has one globally available instanceState- depending on the state of the game, the dinosaur adopts a different graphic presentationDependency Injection- removing direct dependence between game componentsMVC- division of the game into 3 components: view - View classes and graphic components responsible for display, model - classes supporting physics contain the core of the game and a controller - the main Game class that supports input and communicates with the model and viewFacade- view interface provides a simple interface for a complex class (Windows Forms)Strategy- depending on the achieved result, the difficulty level changesMediator- handles game state change by calling appropriate methods

