Skip to content

Ragnarok540/space-invaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

space-invaders

Space Invaders clone built using Java and multiple Software Design Patterns. Examples of Software Design Patterns are usually shown in isolation from each other so this project aims to show how they would interact in the context of a bigger application.

Software Design Patterns

Pattern Functionality Status
Null Object 👤 Player
Memento 👤 Player
Proxy 👤 Player
Prototype 🔫 Bullets
Factory Method 👾 Enemies
Facade ⚙️ Model
Singleton 🚀 Player Ship
Flyweight 🧚‍♀️ Sprites
Command ⌨️ Keyboard Input
Observer 🎮 Adaptive Difficulty ⛔️
Strategy 🎮 Adaptive Difficulty ⛔️
Interpreter 👾 Enemy Movement ⛔️
Visitor 👾 Enemy Movement ⛔️
State ⏸ Pause ⛔️

Screenshot

Screenshot

Commands

To perform the code style check run:

mvn checkstyle:check

To run the tests and compile the project run:

mvn package

To run the game after the compilation is finished run:

java -cp target/space-invaders-1.0-SNAPSHOT.jar edu.patterns.gui.Game

To generate the documentation run:

mvn javadoc:javadoc

About

Space Invaders using Software Design Patterns

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages