diff --git a/frontend/game.ts b/frontend/game.ts index d405d30..acf5a89 100644 --- a/frontend/game.ts +++ b/frontend/game.ts @@ -48,8 +48,7 @@ function draw() { obstacle.draw(); obstacle.update(); - // console.log(obstacle.position.x); - if(obstacle.position.x <= -obstacleWidth) { + if(obstacle.position.x < -obstacleWidth) { obstacle.resetPosition(true); } }); diff --git a/frontend/models/Obstacle.ts b/frontend/models/Obstacle.ts index ebdcbf0..1a23002 100644 --- a/frontend/models/Obstacle.ts +++ b/frontend/models/Obstacle.ts @@ -3,7 +3,7 @@ class Obstacle extends Entity { private pipeBottom: Pipe; private readonly distanceBetweenPipes: number; private readonly padding: number = 300; - private readonly speed: number = 8; + private readonly speed: number = 3; private static startX: number; diff --git a/frontend/models/Raspberry.ts b/frontend/models/Raspberry.ts index 0116c9f..2d6b8a3 100644 --- a/frontend/models/Raspberry.ts +++ b/frontend/models/Raspberry.ts @@ -1,21 +1,19 @@ class Raspberry extends Entity { - private readonly lift: number = -10; - private readonly gravity: number = 1; + private readonly lift: number = -20; + private readonly gravity: number = 1.314159265358979323846264338; private _velocity: number = 0; private _image: any; - private static readonly maxVelocity: number = 5; - - constructor() { - super(new Position(width / 6, height / 2), 180, 70, 0); - } + private static readonly maxVelocity: number = 100; //region Getter & Setter + + get velocity(): number { return this._velocity; } set velocity(value: number) { - this._velocity = (this.velocity > Raspberry.maxVelocity) ? Raspberry.maxVelocity : value; + this._velocity = (Math.abs(this.velocity) > Raspberry.maxVelocity) ? Raspberry.maxVelocity : value; } get image(): any { @@ -28,6 +26,10 @@ class Raspberry extends Entity { //endregion + constructor() { + super(new Position(width / 6, height / 2), 180, 70, 0); + } + public update(): void { this.applyGravity(); this.forceBoundaries(); @@ -35,11 +37,12 @@ class Raspberry extends Entity { private applyGravity(): void { this.velocity += this.gravity; + this.position.y += this.velocity; } private forceBoundaries(): void { - if (this.position.y > height) { - this.position.y = height; + if (this.position.y+this.height > height) { + this.position.y = height-this.height; this.velocity = 0; }