From a2bd5533ea1b9dafce32a3eb683d3cce4a9a1e82 Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 5 Mar 2024 15:01:52 +0000 Subject: [PATCH] Update from 5 --- README.md | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 209af30..42c4292 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,13 @@ ## Введение -Для реализации игры "Тетрис" проект должен состоять из двух частей: библиотеки, реализующей логику работы игры, которую можно подключать к различным GUI в будущем, и терминального интерфейса, разработанного с использованием библиотеки `ncurses`. Логика работы библиотеки должна быть реализована с использованием конечных автоматов, одно из возможных описаний которого будет дано ниже. +Для реализации игры «Тетрис» проект должен состоять из двух частей: библиотеки, реализующей логику работы игры, которую можно подключать к различным GUI в будущем, и терминального интерфейса, разработанного с использованием библиотеки `ncurses`. Логика работы библиотеки должна быть реализована с использованием конечных автоматов, одно из возможных описаний которого будет дано ниже. ## Chapter I
## Общая информация ### BrickGame -BrickGame - популярная портативная консоль 90-ых годов с несколькими ~~тысячами~~ встроенными играми, разработанная в Китае. Изначально была копией разработанной в СССР и выпущенной Nintendo в рамках платформы GameBoy игры «Тетрис», но включала в себя также и множество других игр, которые добавлялись с течением времени. Консоль имела небольшой экранчик с игровым полем размера 10х20, представляющим из себя матрицу «пикселей». Справа от поля находилось табло с цифровой индикацией состояния текущей игры, рекордами и прочей дополнительной информацией. Самыми распространенными играми на BrickGame были: тетрис, танки, гонки, фроггер и змейка. +BrickGame — популярная портативная консоль 90-ых годов с несколькими ~~тысячами~~ встроенными играми, разработанная в Китае. Изначально была копией разработанной в СССР и выпущенной Nintendo в рамках платформы GameBoy игры «Тетрис», но включала в себя также и множество других игр, которые добавлялись с течением времени. Консоль имела небольшой экранчик с игровым полем размера 10х20, представляющим из себя матрицу «пикселей». Справа от поля находилось табло с цифровой индикацией состояния текущей игры, рекордами и прочей дополнительной информацией. Самыми распространенными играми на BrickGame были: тетрис, танки, гонки, фроггер и змейка. ![BrickGameConsole](misc/images/brickgame-console.jpg) @@ -56,7 +56,7 @@ BrickGame - популярная портативная консоль 90-ых ![Фроггер](misc/images/frogger-game.png) -«Фроггер» - одна из поздних игр, выходящих на консолях Brickgame. Игра представляет собой игровое поле, по которому движутся бревна, и, перепрыгивая по ним, игроку необходимо перевести лягушку с одного берега на другой. Если игрок попадает в воду или лягушка уходит за пределы игрового поля, то лягушка погибает. Игра завершается, когда игрок доводит лягушку до другого берега или погибает последняя лягушка. +«Фроггер» — одна из поздних игр, выходящих на консолях Brickgame. Игра представляет собой игровое поле, по которому движутся бревна, и, перепрыгивая по ним, игроку необходимо перевести лягушку с одного берега на другой. Если игрок попадает в воду или лягушка уходит за пределы игрового поля, то лягушка погибает. Игра завершается, когда игрок доводит лягушку до другого берега или погибает последняя лягушка. Для формализации логики данной игры можно представить следующий вариант конечного автомата: @@ -64,13 +64,13 @@ BrickGame - популярная портативная консоль 90-ых Данный КА имеет следующие состояния: -- Старт - состояние, в котором игра ждет, пока игрок нажмет кнопку готовности к игре. -- Спавн - состояние, в котором создается очередная лягушка. -- Перемещение - основное игровое состояние с обработкой ввода от пользователя - движение лягушки по полосе влево/право или прыжки вперед/назад. -- Сдвиг - состояние, которое наступает после истечения таймера, при котором сдвигаются все объекты на полосах вправо, вместе с лягушкой. -- Столкновение - состояние, которое наступает, если после прыжка лягушка попадает в воду или после смещения бревен лягушка оказывается за пределами игрового поля. -- Достигнут другой берег - состояние, которое наступает при достижении лягушкой верхней другого берега. -- Игра окончена - состояние, которое наступает после достижения другого берега или смерти последней лягушки. +- Старт — состояние, в котором игра ждет, пока игрок нажмет кнопку готовности к игре. +- Спавн — состояние, в котором создается очередная лягушка. +- Перемещение — основное игровое состояние с обработкой ввода от пользователя — движение лягушки по полосе влево/право или прыжки вперед/назад. +- Сдвиг — состояние, которое наступает после истечения таймера, при котором сдвигаются все объекты на полосах вправо, вместе с лягушкой. +- Столкновение — состояние, которое наступает, если после прыжка лягушка попадает в воду или после смещения бревен лягушка оказывается за пределами игрового поля. +- Достигнут другой берег — состояние, которое наступает при достижении лягушкой верхней другого берега. +- Игра окончена — состояние, которое наступает после достижения другого берега или смерти последней лягушки. Пример реализации фроггера с использованием КА вы можете найти в папке `code-samples`. @@ -78,7 +78,7 @@ BrickGame - популярная портативная консоль 90-ых ![Тетрис](misc/images/tetris-game.png) -«Тетрис», наверное, одна из самых популярных игр для консоли Brickgame. Нередко и саму консоль называют тетрисом. Цель игры - в наборе очков за построение линий из генерируемых игрой блоков. Очередной блок, сгенерированный игрой, начинает опускаться вниз по игровому полю, пока не достигнет нижней границы или не столкнется с другим блоком. Пользовать может поворачивать фигуры и перемещать их по горизонтали, стараясь составлять ряды. После заполнения ряд уничтожается, игрок получает очки, а блоки, находящиеся выше заполненного ряда опускаются вниз. Игра заканчивается, когда очередная фигура останавливается в самом верхнем ряду. +«Тетрис», наверное, одна из самых популярных игр для консоли Brickgame. Нередко и саму консоль называют тетрисом. Цель игры — в наборе очков за построение линий из генерируемых игрой блоков. Очередной блок, сгенерированный игрой, начинает опускаться вниз по игровому полю, пока не достигнет нижней границы или не столкнется с другим блоком. Пользовать может поворачивать фигуры и перемещать их по горизонтали, стараясь составлять ряды. После заполнения ряд уничтожается, игрок получает очки, а блоки, находящиеся выше заполненного ряда опускаются вниз. Игра заканчивается, когда очередная фигура останавливается в самом верхнем ряду. Для формализации логики данной игры можно представить следующий вариант конечного автомата: @@ -86,12 +86,12 @@ BrickGame - популярная портативная консоль 90-ых Данный КА состоит из следующих состояний: -- Старт - состояние, в котором игра ждет, пока игрок нажмет кнопку готовности к игре. -- Спавн - состояние, в которое переходит игра при создании очередного блока и выбора следующего блока для спавна. -- Перемещение - основное игровое состояние с обработкой ввода от пользователя - поворот блоков/перемещение блоков по горизонтали. -- Сдвиг - состояние, в которое переходит игра после истечения таймера. В нем текущий блок перемещается вниз на один уровень. -- Соединение - состояние, в которое преходит игра после «соприкосновения» текущего блока с уже упавшими или с землей. Если образуются заполненные линии, то она уничтожается и остальные блоки смещаются вниз. Если блок остановился в самом верхнем ряду, то игра переходит в состояние «игра окончена». -- Игра окончена - игра окончена. +- Старт — состояние, в котором игра ждет, пока игрок нажмет кнопку готовности к игре. +- Спавн — состояние, в которое переходит игра при создании очередного блока и выбора следующего блока для спавна. +- Перемещение — основное игровое состояние с обработкой ввода от пользователя — поворот блоков/перемещение блоков по горизонтали. +- Сдвиг — состояние, в которое переходит игра после истечения таймера. В нем текущий блок перемещается вниз на один уровень. +- Соединение — состояние, в которое преходит игра после «соприкосновения» текущего блока с уже упавшими или с землей. Если образуются заполненные линии, то она уничтожается и остальные блоки смещаются вниз. Если блок остановился в самом верхнем ряду, то игра переходит в состояние «игра окончена». +- Игра окончена — игра окончена. ## Chapter II
## Требования к проекту @@ -122,12 +122,12 @@ BrickGame - популярная портативная консоль 90-ых - Начало игры, - Пауза, - Завершение игры, - - Стрелка влево - движение фигуры влево, - - Стрелка вправо - движение фигуры вправо, - - Стрелка вниз - падение фигуры, - - Стрелка вверх - ни используется в данной игре, + - Стрелка влево — движение фигуры влево, + - Стрелка вправо — движение фигуры вправо, + - Стрелка вниз — падение фигуры, + - Стрелка вверх — ни используется в данной игре, - Действие (вращение фигуры). -- Игровое поле должно соответствовать размерам игрового поля консоли - десять «пикселей» в ширину и двадцать «пикселей» в высоту. +- Игровое поле должно соответствовать размерам игрового поля консоли — десять «пикселей» в ширину и двадцать «пикселей» в высоту. - Фигура, после достижения нижней границы поля или соприкосновения с другой фигурой, должна остановиться. После этого происходит генерация следующей фигуры, показанной на превью. - Интерфейс библиотеки должен соответствовать описанию, которое находится в materials/library-specification.md. - Пользовательский интерфейс должен поддерживать отрисовку игрового поля и дополнительной информации. @@ -150,13 +150,13 @@ BrickGame - популярная портативная консоль 90-ых Начисление очков будет происходить следующим образом: -- 1 линия - 100 очков; -- 2 линии - 300 очков; -- 3 линии - 700 очков; -- 4 линии - 1500 очков. +- 1 линия — 100 очков; +- 2 линии — 300 очков; +- 3 линии — 700 очков; +- 4 линии — 1500 очков. ### Часть 3. Дополнительно. Механика уровней -Добавь в игру механику уровней. Каждый раз, когда игрок набирает 600 очков, уровень увеличивается на 1. Повышение уровня увеличивает скорость движения фигур. Максимальное количество уровней - 10. +Добавь в игру механику уровней. Каждый раз, когда игрок набирает 600 очков, уровень увеличивается на 1. Повышение уровня увеличивает скорость движения фигур. Максимальное количество уровней — 10. 💡 [Нажми сюда](https://forms.yandex.ru/cloud/65d4a02673cee73bdc52da80/)**, чтобы поделиться с нами обратной связью на этот проект**. Это анонимно и поможет нашей команде сделать твоё обучение лучше.