/tetris-2020

Семестровый проект "Тетрис" студентов группы Б02-012 ЛФИ МФТИ Берёзкина Н., Сафина Д. и Ивашкина И.

Primary LanguagePython

Тетрис

Семестровый проект студентов первого курса ЛФИ МФТИ Д. Сафина, Н. Берёзкина и И. Ивашкина.

Описание игры

Проект представляет собой несколько дополненную копию всемирно известной игры Тетрис, разработанную на языке программирования Python 3. Тем самым мы отдаём почтение незабвенной классике, позволяя людям погрузиться в атмосферу 16-битных игр XX века. Наша команда настроена сделать свой Тетрис - с PEP-8 и классами!

Инструкция по установке

  1. Установите Python с этого сайта.
  2. Склонируйте репозиторий к себе на компьютер. Для этого откройте терминал (консоль) GNU/Linux или командную строку Git-bash под MS Windows и выполните команду:
    git clone https://github.com/Pygame-Tetris-2020/tetris-2020
    
  3. Для запуска программы перейдите в склонированный репозиторий и запустите файл main.py.
  4. Готово!

Инструкция по использованию

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

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

  1. Игровое поле представляет собой прямоугольник (стакан) размером 10x20 клеток. В процессе игры в верхней части стакана появляются тетрамино - разноцветные фигуры различных форм, состоящие из четырех клеток. Появившись сверху, фигура медленно опускается, пока не встретит препятствие - нижнюю границу стакана или ранее опустившуюся фигуру.

  2. Пока фигура не остановилась, ее можно перемещать по горизонтали с помощью клавиш Влево и Вправо и поворачивать с помощью клавиш Вверх (по часовой стрелке) и Вниз (против часовой стрелки). Опускание фигуры можно ускорить: для этого удерживайте клавишу Пробел.

  3. Когда фигуры, накапливающиеся в стакане, целиком заполняют горизонтальную линию из 10 клеток, эта линия уничтожается, а все фигуры, лежавшие выше, сдвигаются вниз. Таким образом происходит постепенная очистка стакана.

  4. Цель игры - не допустить переполнение стакана фигурами, выходящими за его верхнюю границу. Для этого надо своевременно уничтожать линии, рационально размещая падающие фигуры. В случае переполнения стакана игра закончится.

  5. Справа от игрового поля размещены счетчики уничтоженных линий и очков. При уничтожении одной линии начисляется 100 очков. Если вам удалось в один прием сжечь две или три линии, то вы получите 300 или 700 очков соответственно. А если вы окажетесь столь искусны, что ухитритесь собрать Тетрис - сжечь в один прием сразу 4 линии - то получите за это 1500 очков!

  6. Для удобства игры следующая фигура отображается в окошке, расположенном справа от игрового поля.

  7. Игру можно в любой момент поставить на паузу - кнопка для этого имеется справа от стакана. Для продолжения игры нажмите Продолжить, а для выхода из игры - Выйти из игры.

  8. В случае проигрыша на экране отобразится количество уничтоженных линий и число набранных очков. Вам будет предложено выйти в главное меню.

Настройки

  1. Раздел Настройки можно открыть нажатием соответствующей кнопки в главном меню.

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

  3. Вам также доступен выбор фоновой музыки из двух композиций: Оригинальной и Современной. При необходимости музыку можно отключить. Для этих настроек пользуйтесь кнопками в столбце Музыка.

  4. В настройках также можно изменить цветовую тему игровых окон. По умолчанию установлена Светлая тема. При необходимости ее можно поменять на Темную. Пользуйтесь кннопками в столбце Тема.

  5. Для возвращения в главное меню нажмите кнопку Назад.

Статистика

  1. Вызов окна статистики доступен из главного меню по кнопке Статистика.

  2. В этом разделе отображаются в виде столбчатой диаграммы результаты последних пяти игр. В строке Рекорд отмечается наибольшее количество очков, когда-либо набранное за одну игру.

  3. Для возвращения в главное меню нажмите кнопку Назад.

Обратная связь

Мы будем очень рады, если вы оставите отзыв, сообщите о багах или предложите улучшения проекта. Для этого следует пользоваться Issues. Нам будет приятно ответить на ваши сообщения. Спасибо за внимание к нашему проекту!