87 lines
1.8 KiB
Markdown
87 lines
1.8 KiB
Markdown
```mermaid
|
|
classDiagram
|
|
direction BT
|
|
class Collidable {
|
|
collides(o: Entity) boolean
|
|
}
|
|
class Entity {
|
|
constructor(position: Position, width: number, height: number, fill: number)
|
|
Position _position
|
|
number _width
|
|
number _height
|
|
number fill
|
|
boolean _showHitbox
|
|
update() void
|
|
draw() void
|
|
Position position
|
|
number width
|
|
number height
|
|
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
|
|
createPipes(position: Position, obstacleHeight: number, obstacleWidth: number, pipeImagePath: string) void
|
|
resetPosition() void
|
|
randomizeHeight() void
|
|
randomRange(min: number, max: number) number
|
|
update() void
|
|
draw() void
|
|
collides(o: Entity) boolean
|
|
any startX
|
|
any distanceBetweenPipes
|
|
}
|
|
class Pipe {
|
|
constructor(positionX: number, width: number, height: number, image: string)
|
|
p5.Image _image
|
|
update() void
|
|
draw() void
|
|
move(speed: number) void
|
|
collides(o: Entity) boolean
|
|
p5.Image 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
|
|
p5.Image _image
|
|
Position position
|
|
number maxVelocity
|
|
number WIDTH
|
|
number HEIGHT
|
|
number FILL
|
|
update() void
|
|
applyGravity() void
|
|
forceBoundaries() void
|
|
boundaryTop() void
|
|
boundaryBottom() void
|
|
boost() void
|
|
draw() void
|
|
drawObject() void
|
|
drawRocket() void
|
|
drawHitBox() void
|
|
setPose() void
|
|
number velocity
|
|
p5.Image image
|
|
}
|
|
|
|
Obstacle ..> Collidable
|
|
Obstacle --> Entity
|
|
Pipe ..> Collidable
|
|
Pipe --> Entity
|
|
Raspberry --> Entity
|
|
|
|
```
|