verhneudinec / spacerace

Console game «Space race»: u race across the galaxy, dodging meteors and asteroids. Have fun with a friend or alone.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Space race

You race across the galaxy, dodging meteors and asteroids. Have fun with a friend or alone. This is a small clone of the game from Atari®, which was made in 1973.

Суть

Игра идет до тех пор, пока не закончится время. За столкновение с астероидом выдаются штрафы, за пролет через все поле - бонусы.

Скриншоты

Главный экран:

ScreenShot #1 - главный экран

Режим игры "один игрок":

ScreenShot #2 - режим игры "один игрок"

Режим игры "игра с другом"

ScreenShot #3 - режим игры "игра с другом"

Описание классов, основных методов и функций

Класс asteroid хранит информацию об астероидах, а также имеет одноименный конструктор, инициализирующий поля во время создания объекта, подставляемый метод display, который выводит астероид на экран и вызывает другие методы, метод escape, который проверяет выход астероида за игровое поле, метод moving, который задает движение астероида.

Класс ship содержит информацию о кораблях, а также имеет одноименный конструктор, инициализирующий поля во время создания объекта. Во время работы конструктора на вход передается число – номер корабля, позволяющее задать координаты двух игроков, если выбран соответствующий режим. Помимо этого, метод display выводит на экран корабль игрока и вызывает остальные методы, escape проверяет выход корабля за границы поля и, если выполняется необходимое условие, инкрементирует поле spacepoints на 1 поинт и глобальную переменную t на 2 секунды, moving задает позиции корабля, board выводит на консоль счет и таймер, а kbht проверяет, нажата ли определенная клавиша, чтобы затем задать движение корабля.

Дружественная функция классам asteroid и ship checkblow проверяет столкновение корабля с астероидом и, если это произошло, декрементирует количество секунд на 4.

Перегруженная функция checkdefeat определяет конец игры, когда дальнейшее развитие игры не может привести к победе.

Функция writerec не является членом ни одного из классов, но обеспечивает запись рекордов в файл. После игры происходит сортировка результатов и запись 5 лучших в файл. Если файл пуст, то записываются 5 «начальных» рекордов.

Функция timer ведет обратный отсчет времени, инкрементируя переменную t.

Описание интерфейса

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

About

Console game «Space race»: u race across the galaxy, dodging meteors and asteroids. Have fun with a friend or alone.

License:MIT License


Languages

Language:C++ 100.0%