Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 2 KB

README.md

File metadata and controls

34 lines (27 loc) · 2 KB

Морской бой

Консольная игра «Морской бой» написанная на языке 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