Добавить две одиночные мини-игры: ./blocks и ./invaders

Тетрис- и Space Invaders-подобные аркады на чистом canvas/JS, без
мультиплеера и без сервера — в отличие от ./tanks это классические
одиночные игры. Названия сайта — generic (не «Тетрис»/«Space Invaders»),
та же логика, что и с переименованием ./battlecity в ./tanks: обе
франшизы — активно защищаемые товарные знаки (The Tetris Company,
Taito).

./blocks — 10x20 поле, 7 фигур, вращение с простым wall-kick, ускорение
по уровням, next-piece превью, hard drop.
./invaders — волны врагов, стрельба игрока и врагов, жизни, ускорение
с каждой волной.

Обе — клавиатура + сенсорные кнопки, RU/EN (не сбрасывает партию при
переключении языка — в отличие от бага, который чинили в ./tanks).
Кросс-ссылки между всеми тремя играми на каждой игровой странице,
подвал whoami обновлён списком всех трёх.
This commit is contained in:
2026-08-12 11:41:18 +05:00
parent 3e14c8f381
commit bb194ad33f
10 changed files with 1073 additions and 3 deletions
+4
View File
@@ -23,6 +23,7 @@ const STR = {
room: 'комната',
mode: 'режим:',
leave: 'выйти в лобби',
crosslinks: 'ещё игры:',
},
en: {
connecting: 'connecting...',
@@ -38,6 +39,7 @@ const STR = {
room: 'room',
mode: 'mode:',
leave: 'leave to lobby',
crosslinks: 'more games:',
},
};
@@ -127,6 +129,8 @@ function renderRoomView() {
}
function render() {
const crosslinksLabel = document.getElementById('game-crosslinks-label');
if (crosslinksLabel) crosslinksLabel.textContent = t().crosslinks;
if (currentRoom) {
renderRoomView();
} else {