74 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @startuml
 | |
| package com.iluwatar.doubledispatch.constants {
 | |
|   class AppConstants {
 | |
|     + HITS : String {static}
 | |
|     + AppConstants()
 | |
|   }
 | |
| }
 | |
| package com.iluwatar.doubledispatch {
 | |
|   class App {
 | |
|     - LOGGER : Logger {static}
 | |
|     + App()
 | |
|     + main(args : String[]) {static}
 | |
|   }
 | |
|   class FlamingAsteroid {
 | |
|     + FlamingAsteroid(left : int, top : int, right : int, bottom : int)
 | |
|     + collision(gameObject : GameObject)
 | |
|   }
 | |
|   abstract class GameObject {
 | |
|     - damaged : boolean
 | |
|     - onFire : boolean
 | |
|     + GameObject(left : int, top : int, right : int, bottom : int)
 | |
|     + collision(GameObject) {abstract}
 | |
|     + collisionResolve(FlamingAsteroid) {abstract}
 | |
|     + collisionResolve(Meteoroid) {abstract}
 | |
|     + collisionResolve(SpaceStationIss) {abstract}
 | |
|     + collisionResolve(SpaceStationMir) {abstract}
 | |
|     + isDamaged() : boolean
 | |
|     + isOnFire() : boolean
 | |
|     + setDamaged(damaged : boolean)
 | |
|     + setOnFire(onFire : boolean)
 | |
|     + toString() : String
 | |
|   }
 | |
|   class Meteoroid {
 | |
|     - LOGGER : Logger {static}
 | |
|     + Meteoroid(left : int, top : int, right : int, bottom : int)
 | |
|     + collision(gameObject : GameObject)
 | |
|     + collisionResolve(asteroid : FlamingAsteroid)
 | |
|     + collisionResolve(iss : SpaceStationIss)
 | |
|     + collisionResolve(meteoroid : Meteoroid)
 | |
|     + collisionResolve(mir : SpaceStationMir)
 | |
|   }
 | |
|   class Rectangle {
 | |
|     - bottom : int
 | |
|     - left : int
 | |
|     - right : int
 | |
|     - top : int
 | |
|     + Rectangle(left : int, top : int, right : int, bottom : int)
 | |
|     + getBottom() : int
 | |
|     + getLeft() : int
 | |
|     + getRight() : int
 | |
|     + getTop() : int
 | |
|     ~ intersectsWith(r : Rectangle) : boolean
 | |
|     + toString() : String
 | |
|   }
 | |
|   class SpaceStationIss {
 | |
|     + SpaceStationIss(left : int, top : int, right : int, bottom : int)
 | |
|     + collision(gameObject : GameObject)
 | |
|   }
 | |
|   class SpaceStationMir {
 | |
|     - LOGGER : Logger {static}
 | |
|     + SpaceStationMir(left : int, top : int, right : int, bottom : int)
 | |
|     + collision(gameObject : GameObject)
 | |
|     + collisionResolve(asteroid : FlamingAsteroid)
 | |
|     + collisionResolve(iss : SpaceStationIss)
 | |
|     + collisionResolve(meteoroid : Meteoroid)
 | |
|     + collisionResolve(mir : SpaceStationMir)
 | |
|   }
 | |
| }
 | |
| FlamingAsteroid --|> Meteoroid 
 | |
| GameObject --|> Rectangle 
 | |
| Meteoroid --|> GameObject 
 | |
| SpaceStationIss --|> SpaceStationMir 
 | |
| SpaceStationMir --|> GameObject 
 | |
| @enduml |