Классическая игра "Змейка".
Игрок управляет длинным, тонким существом, напоминающим змею, которое ползает по плоскости, собирая яблоки и избегая столкновения с собственным хвостом и стенами. Каждый раз, когда змейка съедает яблоко, она становится длиннее, что постепенно усложняет игру. Игра заканчивается, когда голова змейки сталкивается с хвостом змейки или врезается в стену.
В игре присутствует 2 вида яблок: красные и желтые. Съедание красного яблока увеличивает длину змейки на одну клетку, а съедание желтого – на две.
- Установить Visual Studio 2019
- Скачать SFML
- Скачать данный репозиторий
- Вариант 1
- Установить Git
- Клонировать репозиторий
git clone https://github.com/Yu-Leo/snake-game.git cd snake-game
- Вариант 2 - Скачать ZIP
- Вариант 1
- Подключить SFML к проекту (мой туториал)
- Скомпилировать и запустить
./snake-game/main.cpp
Навигация по меню осуществляется при помощи стрелок вверх и вниз. Выбор пункта меню – Enter. Изменение значений в настройках – стрелками влево и вправо.
- Start new game - начать новую игру.
- Settings - переход в меню настроек.
- Quit - выход из игры.
- Resume new game - возобновить игру.
- Settings - переход в меню настроек.
- Quit - выход из игры.
- Back to main menu - вернуться в главное меню / меню паузы.
- Volume: 10 - уровень громкости внутриигровых звуков. Изменяется от 0% до 100% с шагом 5%.
- Speed: Auto - режим скорости: автоматический (Auto) либо ручной (значение от 1 до 6).
- Map: 2 - номер карты игрового поля (от 0 до 4).
Управление происходит при помощи стрелок вверх, вниз, вправо, и влево на клавиатуре. При нажатии Escape во время игры активируется пауза и открывается меню паузы. При нажатии Escape в режиме паузы игра продолжается.
В случае проигрыша выводится надпись "Game over", после чего происходит переход в главное меню игры
snake-game - исходный код проекта.
tests - unit-тесты.
- Генерация яблок в случайных (
true
) или псевдо-случайных (false
) местах
// main.cpp
#define RANDOM_GENERATING false
При установке false
стартовое значение для псевдо-случайной генерации задаётся в строчке
// main.cpp
srand(0); // Set seed for pseudorandom number generator
- Шанс генерации супер-яблока (в процентах)
// GameField.h
#define CHANCE_OF_GENERATING_SUPER_APPLE 15
Запуск:
Используете мой код - ставьте звёздочку ⭐️ на репозиторий
Автор: Yu-Leo
GNU General Public License v3.0
Полный текст в LICENSE