Feature/advanced game mechanics #5

Merged
ilia merged 30 commits from feature/advanced-game-mechanics into main 2026-07-19 15:09:22 +00:00
30 Commits
Author SHA1 Message Date
Ilia Mashkov b7ca56c99c feat(perk): Добавлен таймаут для бонуса увеличения размера ракетки и бонуса замедления скорости мяча
Build and push / build (push) Skipped
Build and push / build (pull_request) Successful in 43s
2026-07-19 18:02:33 +03:00
Ilia Mashkov b72583290d feat(perk): Добавлен бонус clone который добавляет 2 дополнительных мяча 2026-07-19 17:47:01 +03:00
Ilia Mashkov a734600390 refactor: Создана функция processBrickCollision для инкапсуляции логики проверки столкновения мяча с кирпичами 2026-07-19 17:41:51 +03:00
Ilia Mashkov dccdb02f73 refactor: Создана функция processBall для инкапсуляции логики проверки столкновения мяча со стенами 2026-07-19 17:28:56 +03:00
Ilia Mashkov e637d4e62e feat(clone): Добавлена функция для клонирования мяча и изменения горизонтальной и вертикальной скорости согласно указаному углу 2026-07-19 17:11:41 +03:00
Ilia Mashkov d2cfee3ec3 refactor: Переименована функция calculateCollision для лучшей семантики 2026-07-19 17:00:23 +03:00
Ilia Mashkov 8d15f3996f feat(perk): Добавлен бонус дающий жизнь 2026-07-19 15:37:42 +03:00
Ilia Mashkov b7e16f86ea feat(perk): Добавлен бонус увеличивающий размер ракетки 2026-07-19 15:32:09 +03:00
Ilia Mashkov 511b20c939 feat: Добавлена обработка столкновения ракетки и бонуса, логика обработки бонусов подключена в tick 2026-07-19 15:09:56 +03:00
Ilia Mashkov a4c4e2a192 feat(spawnRandomPerk): Добавлена функция создания случайного бонуса по заданым координатам 2026-07-19 15:08:22 +03:00
Ilia Mashkov b2f0810ec2 feat(perk): Добавлена сущность бонуса 2026-07-19 14:13:05 +03:00
Ilia Mashkov b05fb89bc5 feat(ball): Добавлена логика изменения базовой скорости мяча. С течением времени и на каждом следующем уровне 2026-07-19 13:20:10 +03:00
Ilia Mashkov 62abd8b77d refactor(ball): Вычисление ертикальной и гроизонтальной скорости перенесено в класс Ball 2026-07-19 13:15:50 +03:00
Ilia Mashkov 0f057c1add feat(ball): Флаг isOut заменен на поле status, изменено начальное положение мяча при старте игры, добавлена функция запуска мяча по клику 2026-07-19 11:24:37 +03:00
Ilia Mashkov e7b52bdbd9 fix: Добавлено обновление значения текущего уровня в main.js 2026-07-19 11:10:48 +03:00
Ilia Mashkov 500803db84 feat: Добавлена функцияя для пересборки отображений кирпичей и удаления оставшихся отображений кирпичей из контейнера при смене уровня 2026-07-19 10:53:40 +03:00
Ilia Mashkov 5e259f7efc feat(brick): Добавлены типы кирпичей: обычный, с 2 жизнями, неразрушаемый 2026-07-19 10:51:58 +03:00
Ilia Mashkov 111167b600 feat(game): Добавлена логика перехода на новый уровень
Build and push / build (push) Skipped
2026-07-18 18:03:56 +03:00
Ilia Mashkov 4436661547 refactor: Формат хранения кирпичей в классе Game переписан с вложенного массива на обычный массив. Входные данные для значений каждого кирпича берутся из карты уровней 2026-07-18 17:47:33 +03:00
Ilia Mashkov 71583d0fde feat: Добавлен список уровней в формате массива карт уровней. Карта уровня - вложенный массив глубины 2, где числовые значения соответствуют кирпичам разных типов 2026-07-18 17:40:14 +03:00
Ilia Mashkov ecc3ea1e34 fix(game): Исправлены начальные координаты мяча - X и Y координаты в центре
Build and push / build (push) Skipped
2026-07-18 15:42:10 +03:00
Ilia Mashkov a405a91f65 feat(game): Замена логики взаимодействия мяча и ракетки 2026-07-18 15:40:42 +03:00
Ilia Mashkov b0bbb6df96 feat(processReflection): Добавлена функция для изменеия горизонтальной и вертикальной скорости мяча в зависимости от места попадания в ракетку 2026-07-18 15:39:36 +03:00
Ilia Mashkov fbdd865da8 fix(game): Исправлен формат данных для функций Math.sim, Math.cos используемых для вычисления скоростей мяча по осям X и Y 2026-07-18 14:57:37 +03:00
Ilia Mashkov b2a76b0c74 feat: Функция для конвертации градусов в радианы 2026-07-18 14:55:19 +03:00
Ilia Mashkov 562805b35c refactor(tick): В условия добавлены return для отсеивания лишних операций 2026-07-18 13:32:54 +03:00
Ilia Mashkov 274cc93c55 feat: Добавлена базовая логика выигрыша 2026-07-18 13:14:47 +03:00
Ilia Mashkov fea05e6b97 feat: Добавлена базовая логика проигрыша 2026-07-18 13:01:43 +03:00
Ilia Mashkov c7721f2b1a feat(ball): Изменены начальное положение и начальный угол полета мяча 2026-07-18 12:54:32 +03:00
Ilia Mashkov e303535250 feat(ball): В конструктор класса добавлены значения скорости, Добавлено сохранение аргументов конструктора и метод reset, использующий сохраненные дефолтные значения 2026-07-18 12:50:34 +03:00