/Cave-Fighter

A java based game in the style of Edmund McMillen's and Florian Himsl's "The Binding of Isaac"

Primary LanguageJavaMIT LicenseMIT

Cave-Fighter

Cave Fighter is a Java based game programmed utilizing the JPanel and the JFrame. The game is based on Edmund McMillen’s and Florian Himsl’s, "The Binding of Isaac". The game uses a chunking algorithm to procedurally generate room layouts and fills them with random enemies in one of many predetermined patterns. This project was programmed as an educational excercise to demonstrate usage and understanding of object oriented programming principles such as abstraction for enemies, polymorphism for defining the specific behaviour for each of the subclasses and encapsulation for hiding information thus allowing usage of these classes only through a defined interface. The objective of the game is to fight through rooms until you reach the boss room. When the boss is defeated the game resets. This project has recently been refactored to include design patterns and make usage of popular Computer Science idioms such as the PIMPL idiom. The design patterns that were used include the singleton pattern for the main character and factory pattern for declaring the enemies.