class Ball { constructor(game, position_x, position_y, velocity_x, velocity_y) { this.game = game; this.position_x = position_x; this.position_y = position_y; this.velocity_x = velocity_x; this.velocity_y = velocity_y; } _collision(old_pos_x, old_pos_y, new_pos_x, new_pos_y) { return 0; } draw(ctx) { ctx.rect(this.position_x, this.position_y, this.game.config.ball_size, this.game.config.ball_size); } render() { new_pos_x = this.position_x + this.velocity_x * this.game.time.deltaTime(); new_pos_y = this.position_y + this.velocity_y * this.game.time.deltaTime(); if (this._collision(this.position_x, this.position_y, new_pos_x, new_pos_y)) { this.velocity_x = -this.velocity_x; this.velocity_y = -this.velocity_y; new_pos_x = this.position_x + this.velocity_x * this.game.time.deltaTime(); new_pos_y = this.position_y + this.velocity_y * this.game.time.deltaTime(); } this.position_x = new_pos_x this.position_y = new_pos_y this.velocity_x = this.velocity_x + this.game.config.ball_speed_inc; this.velocity_y = this.velocity_y + this.game.config.ball_speed_inc; } update (position_x, position_y, velocity_x, velocity_y) { this.position_x = position_x; this.position_y = position_y; this.velocity_x = velocity_x; this.velocity_y = velocity_y; } } export { Ball }