diff --git a/src/lib/calculateCollision/calculateCollision.js b/src/lib/calculateAABBCollision/calculateAABBCollision.js similarity index 97% rename from src/lib/calculateCollision/calculateCollision.js rename to src/lib/calculateAABBCollision/calculateAABBCollision.js index 1ed41b9..c3ea9a4 100644 --- a/src/lib/calculateCollision/calculateCollision.js +++ b/src/lib/calculateAABBCollision/calculateAABBCollision.js @@ -12,7 +12,7 @@ * @param {number} secondObject.bottom - Max Y координата второго объекта * @returns {boolean} */ -export function calculateCollision(firstObject, secondObject) { +export function calculateAABBCollision(firstObject, secondObject) { try { const coordinates = [ firstObject.left, diff --git a/src/lib/calculateCollision/calculateCollision.test.js b/src/lib/calculateAABBCollision/calculateAABBCollision.test.js similarity index 77% rename from src/lib/calculateCollision/calculateCollision.test.js rename to src/lib/calculateAABBCollision/calculateAABBCollision.test.js index c2581cf..efe9920 100644 --- a/src/lib/calculateCollision/calculateCollision.test.js +++ b/src/lib/calculateAABBCollision/calculateAABBCollision.test.js @@ -1,6 +1,6 @@ -import { calculateCollision } from './calculateCollision'; +import { calculateAABBCollision } from './calculateAABBCollision'; -describe('calculateCollision', () => { +describe('calculateAABBCollision', () => { it('Корректно обрабатывает невозможные кейсы (левая координата больше правой)', () => { const firstObject = { left: 0, @@ -16,7 +16,7 @@ describe('calculateCollision', () => { bottom: 10, }; - expect(calculateCollision(firstObject, secondObject)).toBeNull(); + expect(calculateAABBCollision(firstObject, secondObject)).toBeNull(); }); it('Корректно обрабатывает неверный формат данных', () => { @@ -34,7 +34,7 @@ describe('calculateCollision', () => { bottom: 10, }; - expect(calculateCollision(firstObject, secondObject)).toBeNull(); + expect(calculateAABBCollision(firstObject, secondObject)).toBeNull(); }); it('Корректно обрабатывает отсутствие пересечения по X', () => { @@ -52,7 +52,7 @@ describe('calculateCollision', () => { bottom: 10, }; - expect(calculateCollision(firstObject, secondObject)).toBe(false); + expect(calculateAABBCollision(firstObject, secondObject)).toBe(false); }); it('Корректно обрабатывает отсутствие пересечения по Y', () => { @@ -70,7 +70,7 @@ describe('calculateCollision', () => { bottom: 30, }; - expect(calculateCollision(firstObject, secondObject)).toBe(false); + expect(calculateAABBCollision(firstObject, secondObject)).toBe(false); }); it('Корректно обрабатывает отсутствие пересечения по X и Y', () => { @@ -88,7 +88,7 @@ describe('calculateCollision', () => { bottom: 30, }; - expect(calculateCollision(firstObject, secondObject)).toBe(false); + expect(calculateAABBCollision(firstObject, secondObject)).toBe(false); }); it('Корректно обрабатывает пересечение', () => { @@ -106,7 +106,7 @@ describe('calculateCollision', () => { bottom: 30, }; - expect(calculateCollision(firstObject, secondObject)).toBe(true); + expect(calculateAABBCollision(firstObject, secondObject)).toBe(true); }); it('Корректно обрабатывает вхождение', () => { @@ -124,6 +124,6 @@ describe('calculateCollision', () => { bottom: 15, }; - expect(calculateCollision(firstObject, secondObject)).toBe(true); + expect(calculateAABBCollision(firstObject, secondObject)).toBe(true); }); }); diff --git a/src/lib/calculateDirection/calculateDirection.js b/src/lib/calculateDirection/calculateDirection.js index 5ebf113..a0f93bc 100644 --- a/src/lib/calculateDirection/calculateDirection.js +++ b/src/lib/calculateDirection/calculateDirection.js @@ -1,4 +1,4 @@ -import { calculateCollision } from '../calculateCollision/calculateCollision'; +import { calculateAABBCollision } from '../calculateAABBCollision/calculateAABBCollision'; /** * Вычисляет направление наибольшего пересечения по осям и возвращает tuple множителей для изменения координат @@ -17,7 +17,7 @@ import { calculateCollision } from '../calculateCollision/calculateCollision'; export function calculateDirection(firstObject, secondObject) { try { // Запускаем для проверки формата аргументов - const isCollided = calculateCollision(firstObject, secondObject); + const isCollided = calculateAABBCollision(firstObject, secondObject); if (isCollided === null) { return null; diff --git a/src/lib/tick/tick.js b/src/lib/tick/tick.js index 973ef92..49f87fe 100644 --- a/src/lib/tick/tick.js +++ b/src/lib/tick/tick.js @@ -9,7 +9,7 @@ import { PERK_WIDTH, } from '../../config'; import { Game } from '../../game'; -import { calculateCollision } from '../calculateCollision/calculateCollision'; +import { calculateAABBCollision } from '../calculateAABBCollision/calculateAABBCollision'; import { calculateDirection } from '../calculateDirection/calculateDirection'; import { processReflection } from '../processReflection/processReflection'; import { spawnRandomPerk } from '../spawnRandomPerk/spawnRandomPerk'; @@ -91,7 +91,7 @@ export function tick(game, containerWidth, containerHeight, deltaTime) { const ballObject = { left: ballLeft, right: ballRight, top: ballTop, bottom: ballBottom }; const brickObject = { left: brickLeft, right: brickRight, top: brickTop, bottom: brickBottom }; - const isCollided = calculateCollision(ballObject, brickObject); + const isCollided = calculateAABBCollision(ballObject, brickObject); if (isCollided) { const directions = calculateDirection(ballObject, brickObject); diff --git a/src/lib/updatePerks/updatePerks.js b/src/lib/updatePerks/updatePerks.js index f50e5a3..613e9d6 100644 --- a/src/lib/updatePerks/updatePerks.js +++ b/src/lib/updatePerks/updatePerks.js @@ -1,6 +1,6 @@ import { CONTAINER_WIDTH, PADDLE_WIDE_WIDTH, PERK_BALL_SPEED_DECREASE } from '../../config'; import { Game } from '../../game'; -import { calculateCollision } from '../calculateCollision/calculateCollision'; +import { calculateAABBCollision } from '../calculateAABBCollision/calculateAABBCollision'; /** * Обновляет состояние бонусов, меняет положение, проверяет столкновение с ракеткой и выход за границу поля @@ -40,7 +40,7 @@ export function updatePerks(game, containerHeight, deltaTime) { bottom: paddle.y + paddle.height, }; - const isCollided = calculateCollision(perkObject, paddleObject); + const isCollided = calculateAABBCollision(perkObject, paddleObject); if (isCollided) { switch (perk.type) { diff --git a/src/main.js b/src/main.js index 3a74731..21961f7 100644 --- a/src/main.js +++ b/src/main.js @@ -15,8 +15,6 @@ import { } from './config'; import { LEVELS } from './const/levels'; import { Game } from './game'; -import { calculateCollision } from './lib/calculateCollision/calculateCollision'; -import { calculateDirection } from './lib/calculateDirection/calculateDirection'; import { createGameView, managePerkViewsLifetime, rebuildBrickViews, syncronizeViewsWithGame } from './view'; (async () => {