docs(uml): add class diagram (#7)

This commit is contained in:
Théo LUDWIG 2024-12-02 10:11:11 +01:00 committed by GitHub
parent 2d0ff2ff0d
commit 450e27ab00
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

50
uml/class-diagram.puml Normal file
View File

@ -0,0 +1,50 @@
@startuml Geometry Dash - Diagramme de classe
skinparam style strictuml
skinparam classAttributeIconSize 0
skinparam classFontStyle Bold
hide enum methods
class Position {
{field} + column: Integer
{field} + row: Integer
{method} + Position(column: Integer, row: Integer)
{method} + equals(position: Position)
}
class Level {
{field} + songPath: String
{field} + backgroundPath: String
{field} + speed: Double
{method} + Level()
}
Level *--> "*\n- grid" GameObject : <<Is made up of>>
abstract class GameObject {
{method} + getImagePath(): String {abstract}
{method} + safeSides(): List<PositionSide> {abstract}
}
GameObject o--> "1\n- " Position : <<Has>>
GameObject ..> PositionSide : <<Uses>>
class Spike extends GameObject {}
class Game {
{field} - score: Integer
{method} + start(): void
{method} + restart(): void
{method} + end(): void
}
Game o--> "1\n- currentLevel" Level : <<Has>>
enum PositionSide <<enumeration>> {
TOP
RIGHT
BOTTOM
LEFT
}
@enduml