Skip to content

romanRysev/client-server-template-with-vite

 
 

Repository files navigation

Механика игры "Тетрис"

1. Игровое поле и фигуры

Игровое поле - "стакан" размером 10 х 20 клеток. 7 видов фигур, каждая из четырех "кубиков", размер кубика 1х1 клетка:

  • "линия",
  • "кубик",
  • "треугольник",
  • "Г-образная фигура",
  • "L-образная фигура",
  • "S-образная фигура" ,
  • "г-образная фигура". Фигуры различаются по цветам.

2. Цели игры

Цель игры - набрать как можно больше очков, совмещая фигуры таким образом, чтобы "кубики" образовали горизонтальную линию (заполнили ряд). Заполненный ряд исчезает.

3. Игровой процесс

В процессе игры игрок управляет выпадающими фигурами, составляя из них заполненные ряды.
Следующая фигура определяется рандомизатором.
Фигуры "выпадают" из центра стакана.
Скорость падения фигуры определяется уровнем. Скорость на уровне 0 составляет 1 сек/клетка.
Фигура считается установленной, если она после окончания цикла перемещения касается нижележащей фигуры или дна "стакана".
После установки фигуры производится оценка заполненности рядов, заполненные ряды удаляются, производится подсчет линий, очков, прибавление уровня в случае выполнения условий.
Следующая фигура появляется после того, как текущая фигура установлена.

4. Условия игры и подсчет очков

Очки начисляются за заполненные ряды в зависимости от уровня и количества одновременно заполненных рядов:

Уровень 1 ряд 2 ряда 3 ряда 4 ряда
0 40 100 300 1200
1 80 200 600 2400
2 120 300 900 3600
9 400 1000 3000 12000
n 40 * (n + 1) 100 * (n + 1) 300 * (n + 1) 1200 * (n + 1)

Уровень увеличивается через каждые 10 заполненных рядов. Увеличение уровня означает умножение скорости падения фигур на 1.2

5. Управление

Управление движением фигур осуществляется

  • (для десктопной версии) стрелками клавиатуры + пробел либо кнопками WASD + пробел,
  • (для мобильной версии) контролами на экране, имитирующими стрелки и кнопку пробела.
    Игру можно поставить на паузу, в этом случае на экран выводится сообщение о том, что игра на паузе, и кнопка запуска игры.
    Можно начать новую игру. При нажатии на соответствующую кнопку на экран выводится сообщение "Завершить игру?", после подтверждения текущая игра завершается, статистика игрока отправляется в лидерборд, статистика обнуляется, "стакан" очищается, игра начинается с начала.

Стрелка вверх (клавиша W) - поворот фигуры на 90 гр по часовой стрелке;
Стрелки влево, вправо (клавиши A, D) - перемещение фигуры на одну клетку в заданном направлении (долгое нажатие - перемещение в заданном направлении до отпускания кнопки или касания края "стакана");
Стрелка вниз (клавиша S) - принудительное перемещение фигуры на одну клетку вниз (долгое нажатие - ускоренное падение);
Пробел - моментальное падение.

6. Стартовые условия

На старте у игрока есть пустой "стакан", информация о следующей фигуре, нулевая статистика по параметрам:

  • количество очков
  • уровень
  • количество линий Игра начинается с уровня 0 после нажатия на кнопку "начать игру".

7. Окончание игры

Игра заканчивается, когда фигура нижним краем "стоит" на других фигурах, а верхним краем касается или выходит за край "стакана" (т.е. "стакан заполнен"). Статистика игрока отдается в лидерборд, на экран выводится сообщение об окончании игры и предложение начать новую игру.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SCSS 60.3%
  • TypeScript 38.0%
  • JavaScript 1.2%
  • HTML 0.5%