Skip to content

Course project for Design Patterns class at CCSU. Our team created a 2D, top-down tower defense game from scratch. The game is programmed in Java and had to utilize at least 17 software design patterns. UML diagrams can be found in the source files.

Notifications You must be signed in to change notification settings

CCSU-DesignPatterns/Java2DTowerDefenseGame

Repository files navigation

Tower Defense Game

By Ryan Sharp and Ricardo Almeida

12/5/2022

CS-417

image

How To Run The Project

Simply run Main.java inside the main package and let the program handle the rest. No arguments are needed to start the game. Any selections like level selection and difficulty selection are done in-app via the GUI.

Patterns Used

  • Singleton
    • GamePanel.java
  • Strategy
    • GamePanel.java
    • GameplayState.java
    • PausedState.java
    • MainMenuState.java
    • PlacementState.java
  • Template (Levels)
    • Level.java
    • Level1.java
    • Level2.java
    • Level3.java
  • Abstract Factory (Levels)
    • LevelFactory.java
    • ILevelFactory.java
    • Level.java
    • Level1.java
    • Level2.java
    • Level3.java
  • Prototype
    • EnemyWaves.java
    • IEnemy.java
    • Enemy.java
    • UpgradedEnemy.java
    • UpgradedEnemy20S.java
    • UpgradedEnemy30H.java
  • Abstract Factory (Enemies)
    • EnemyWaves.java
    • IEnemy.java
    • Enemy.java
    • UpgradedEnemy.java
    • UpgradedEnemy20S.java
    • UpgradedEnemy30H.java
  • Decorator (Enemies)
    • IEnemy.java
    • Enemy.java
    • UpgradedEnemy.java
    • UpgradedEnemy20S.java
    • UpgradedEnemy30H.java
  • Composite (Enemy)
    • EnemyManager.java
    • IEnemy.java
    • Enemy.java
    • UpgradedEnemy.java
  • Template (Towers)
    • Tower.java
    • TurretTower.java
    • CannonTower.java
    • SniperTower.java
  • Composite (Towers)
    • TowerManager.java
    • ITower.java
    • Tower.java
    • TurretTower.java
    • CannonTower.java
    • SniperTower.java
  • Decorator (Towers)
    • ITower.java
    • Tower.java
    • TowerDecorator.java
    • DoubleFireRateTowerDecorator.java
  • Enumeration
    • TowerType.java
  • Nested Class
    • GameplayUI
    • MainMenuUI

Pictures - The Project In Action

image

image

image

image

image

image

About

Course project for Design Patterns class at CCSU. Our team created a 2D, top-down tower defense game from scratch. The game is programmed in Java and had to utilize at least 17 software design patterns. UML diagrams can be found in the source files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages