Circus of plates is a two player-game in which every player carries two stacks of plates, and there are several colored plates falling down and he tries to catch them, if he manages to collect three consecutive plates of the same color, then they are vanished and his score increases, the player who gets more score at less time wins. The game is implemented in Java programming language. Multiple design patterns are used in the game design beside using Java Multithreading techniques to enhance the parallel performance of players and the falling plates.
1-Singleton 2-Factory 3-MVC 4-Object Pool 5-Iterator 6-State 7-Observer