des is scho geil (JetBrains UML JavaScript and Typescript Plugin)

This commit is contained in:
David Hain 2023-01-10 11:20:51 +01:00 committed by GitHub
parent 5f517c1a47
commit b963623c58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,48 +1,80 @@
```mermaid ```mermaid
classDiagram classDiagram
Entity <|-- Raspberry direction BT
Entity <|-- Obstacle class Collidable {
Entity <|-- Pipe collides(o: Entity) boolean
Entity: -number fill
Entity: +Position position
Entity: +number width
Entity: +number height
Entity: +abstract update()
Entity: +draw()
Entity: -detectCollision(Entity other)
class Raspberry{
-number lift
-number gravity
-static number maxVelocity
+number velocity
-applyGravity()
-forceBoundaries()
-boost()
+update()
} }
class Entity {
class Obstacle{ constructor(position: Position, width: number, height: number, fill: number)
-Entity pipeTop Position _position
-Entity pipeBottom number _width
-number distanceBetweenPipes number _height
-number padding number fill
-number speed boolean _showHitbox
-static number startX update() void
draw() void
-randomRange() Position position
+resetPosition() number width
+update() number height
+draw() boolean showHitbox
}
class Obstacle {
constructor(position: Position, obstacleWidth: number, obstacleHeight: number, pipeImagePath: string)
Pipe pipeTop
Pipe pipeBottom
number padding
number speed
number _distanceBetweenPipes
number _startX
resetPosition() void
randomizeHeight() void
randomRange(min: number, max: number) number
update() void
draw() void
collides(o: Entity) boolean
any startX
any distanceBetweenPipes
} }
class Pipe { class Pipe {
+update() constructor(positionX: number, width: number, height: number)
any _image
update() void
draw() void
move(speed: number) void
collides(o: Entity) boolean
any image
}
class Position {
constructor(x: number, y: number)
number _x
number _y
number x
number y
}
class Raspberry {
constructor(image: string)
number lift
number gravity
number _velocity
any _image
Position position
number maxVelocity
number WIDTH
number HEIGHT
number FILL
update() void
applyGravity() void
forceBoundaries() void
boost() void
draw() void
number velocity
any image
} }
class Position{ Obstacle ..> Collidable
+int x Obstacle --> Entity
+int y Pipe ..> Collidable
} Pipe --> Entity
Raspberry --> Entity
``` ```