Клон Tetris ™, созданный в C ++ и SDL, проект также предназначен для компиляции с Emscripten to Webasm и развернут онлайн.
| Начните новую игру |
|---|

| ключ | Действие |
|---|---|
left_arrow | двигаться влево |
right_arrow | Двигайтесь правильно |
z или up_arrow | вращаться по часовой стрелке |
x или left-ctrl | Поверните против часовой стрелки |
space | жесткая капля |
down_arrow | Мягкая капля |
p | Пауза игра |
r | сбросить игру |
(Этот раздел или readme.md все еще находится в стадии строительства, вы можете помочь в улучшении этого, открыв PR/вопрос о том же)
Выполните следующие шаги для создания проекта на своей нативной машине:
Клон/Загрузите репозиторий
Перейдите к src Suberirectory of Repository
Теперь составьте программу (в зависимости от того, хотите ли вы построить онлайн -развертываемую версию или нативную сборку, выполните один из следующих шагов)
Предостережение: В настоящее время в репозитории нет системы/сценария сборки для автоматизации процесса сборки, так что, к сожалению, на данный момент, ручная сборка - единственный способ запустить проект в системе (если вы заинтересованы в его настройке для проекта, то не стесняйтесь открыть проблему, обсуждая то же самое)
3.1. Построение Webasm с использованием emscripten :
Чтобы создать онлайн -развертываемую версию игры, мы будем использовать emscripten для составления программы для веб -сайта.
$ em++ -std=c++17 renderer.cpp game.cpp app.cpp main.cpp -O2 -s TOTAL_MEMORY=67108864 -s USE_SDL=2 -s USE_SDL_TTF=2 -s USE_SDL_MIXER=2 --preload-file assets -o ../build/index.jsTODO: Объясните, что приведенная выше команда подробно делает
build репозиторияemrun для запуска HTML -страниц через локально запущенный веб -сервер. $ emrun index.htmlFWIW: Вы также можете посетить документацию Emscripten о дополнительной информации о создании проекта с Emscripten, если вам интересно узнать больше об этом.
3.2. Нативная сборка с использованием нативного компилятора C ++ :
Просто используйте свой собственный компилятор C ++ для создания и исполнения из всех исходных файлов (порядок, в котором они должны быть предоставлены команде, не должен иметь значения в большинстве случаев)
Обязательно свяжите библиотеки SDL2 , SDL2_ttf и SDL2_mixer должным образом.
$ g++ -std=c++17 renderer.cpp game.cpp app.cpp main.cpp -O2 -lSDL2_ttf -lSDL2_mixer -lSDL2Эти инструкции предназначены для понимания разработчиков каждого уровня, поэтому, если вы не можете ничего понять или столкнуться с какими -либо трудностями в создании проекта, то обязательно жаловатесь на то же самое, открыв проблему или в разделе обсуждения.
Этот репозиторий участвует в Hacktoberfest, поэтому любой вклад в этот проект в течение октября должен учитываться в Hacktoberfest.
Вклад всех видов (код, некод, низкий код).
Если вы хотите внести свой вклад в проект, обязательно прочитайте рекомендации по взносу, прежде чем сделать новый запрос на привлечение.
Если вы хотите сообщить об ошибке или хотите поделиться идеями/внести свой вклад в проект, не стесняйтесь открывать проблему/PR в отношении того же
Также не стесняйтесь открыть проблему для запроса запросов.
Если вам понравился проект, не забудьте поддержать разработчиков, давая ему звезду?