Skip to content

The Seabattle game was written in C++ with Boost.Asio (TCP protocol)

Notifications You must be signed in to change notification settings

helleb0re/seabattle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Морской бой

Консольная игра «Морской бой» написанная на языке C++ с использованием Boost.Asio (TCP server/client) и рассчитанная на двоих игроков.

Правила игры

Каждый игрок на поле 8х8 располагает 10 кораблей:

  • 1 четырёхпалубный (занимающий 4 клетки),
  • 2 трёхпалубных,
  • 3 двухпалубных,
  • 4 однопалубных.

В данной программе расположение кораблей определяется случайным образом. Для этого необходимо указать сид как параметр командной строки при запуске программы.

Игроки делают выстрелы, не видя расположение кораблей соперника. При промахе ход передаётся другому игроку. При попадании даётся право ещё одного выстрела. Соперник сообщает результат выстрела — «мимо», «попал», «убил». Последний статус означает, что поражены все клетки, занимаемые кораблём.

Использование

Параметры запуска для сервера:

seabattle random_seed port

Параметры запуска для клиента:

seabattle random_seed ip_address port

Демонстрация

demonstration

Зависимости

  1. С++20
  2. Boost 1.78+ version requires
  3. GCC 11+ version requires
  4. CMake 3.11 version requires
  5. Conan 1.* version requires

About

The Seabattle game was written in C++ with Boost.Asio (TCP protocol)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published