feat(perk): Добавлен бонус clone который добавляет 2 дополнительных мяча
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { CONTAINER_WIDTH, PADDLE_WIDE_WIDTH, PERK_BALL_SPEED_DECREASE } from '../../config';
|
||||
import { BALL_SPLIT_ANGLE, CONTAINER_WIDTH, PADDLE_WIDE_WIDTH, PERK_BALL_SPEED_DECREASE } from '../../config';
|
||||
import { clone } from '../../entities/ball/clone/clone';
|
||||
import { Game } from '../../game';
|
||||
import { calculateAABBCollision } from '../calculateAABBCollision/calculateAABBCollision';
|
||||
|
||||
@@ -45,8 +46,10 @@ export function updatePerks(game, containerHeight, deltaTime) {
|
||||
if (isCollided) {
|
||||
switch (perk.type) {
|
||||
case 'slow':
|
||||
if (game.ball.speed - PERK_BALL_SPEED_DECREASE > 0) {
|
||||
game.ball.increaseSpeed(-1 * PERK_BALL_SPEED_DECREASE);
|
||||
for (const ball of game.balls) {
|
||||
if (ball.speed - PERK_BALL_SPEED_DECREASE > 0) {
|
||||
ball.increaseSpeed(-1 * PERK_BALL_SPEED_DECREASE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'wide':
|
||||
@@ -56,6 +59,10 @@ export function updatePerks(game, containerHeight, deltaTime) {
|
||||
case 'life':
|
||||
game.livesAmount += 1;
|
||||
break;
|
||||
case 'clone':
|
||||
// Основной мяч делится на два клона, разлетающихся под углом
|
||||
game.balls.push(clone(game.ball, BALL_SPLIT_ANGLE), clone(game.ball, -BALL_SPLIT_ANGLE));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user