Skip to content

dvirnyak/Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Игра

Пользователь пытается убить противников, сражаясь на парусных кораблях

Preview.png

Управление

Мышкой управляется парус, стрелочками на клавиатуре - поворот корабля

Сверху есть стрелка, указывающая текущее направление ветра

1 - выстрел из левой пушки, 2 - из правой

fight_preview.png

Реализация:

Абстрактный класс Interface - Bridge между графикой/сетевыми запросами и остальным кодом

Game - основной класс игры. Отсюда всё запускается

Coordinates, Sizes, Vector2D - технические геометрические классы, сильно упростившие код

Image - всё, что отвечает за отображение на экран - пересчёт координат, исходя из того, где главный игрок, зум и т.д.

Object - все игровые объекты. Отвечает за соспоставление с картинками, ведёт учёт всех объектов, чистит память, реализует полезные функции для пересчёта координат и т.д.

Island - простой Object, отвечающий за острова

Ship - Object, отвечающий за функции корабля. У корабля есть несколько своих объектов, таких как Паруса и Пушки

ShipObject - класс объектов, которым необходимо (координатно и не только) быть привязанными к своему кораблю. В нём реализованы соответсвующие методы

Sails - Паруса у корабля. Основная функция - сказать (при запросе) своему кораблю стлу ветра, действующую на парус в данной точке

Cannon - Пушка, стреляет Ядрами - CannonBall'ами. Контролирует время межжду выстрелами и скорость ядер.

CannonBall - Ядро, летит и увеличивается/уменьшается (для наблюдателя) в зависимости от высоты. Должно попадать в корабль и наносить урон

Map - Карта, отвечает за ветер и его рандомное обновление. Умеет сообщать ветер по точке

SDL_Classes - Технические классы, реализующие SDL_Interface

Используется SDL2

Сборка и запуск:

1. Установка SDL2 - https://wiki.libsdl.org/Installation

Для Linux:

git clone https://github.com/libsdl-org/SDL

cd SDL

mkdir build

cd build

../configure

make

sudo make install

2. Установка игры

  • стандартная, через CMake

Linux:

git clone https://github.com/dvirnyak/Game

cd Game

mkdir build

cd build

cmake ..

make

./MyCoolGame

About

C++ & sdl2 2D Game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors