24 lines
821 B
JavaScript
24 lines
821 B
JavaScript
import { PERK_FALL_SPEED, PERK_HEIGHT, PERK_TYPES, PERK_WIDTH } from '../../config';
|
|
import { Perk } from '../../entities/perk/perk';
|
|
|
|
/**
|
|
* Создает случайный бонус в заданной точке
|
|
* @param {number} x координата бонуса по оси X
|
|
* @param {number} y координата бонуса по оси Y
|
|
* @returns {Perk | null}
|
|
*/
|
|
export function spawnRandomPerk(x, y) {
|
|
try {
|
|
if (typeof x !== 'number' || typeof y !== 'number') {
|
|
throw new Error('Координаты бонуса должны являться числами');
|
|
}
|
|
|
|
const type = PERK_TYPES[Math.floor(Math.random() * PERK_TYPES.length)];
|
|
|
|
return new Perk(x, y, PERK_WIDTH, PERK_HEIGHT, type, PERK_FALL_SPEED);
|
|
} catch (err) {
|
|
console.error(err);
|
|
return null;
|
|
}
|
|
}
|