Warships

Educational project for the development of knowledge on the course Object-oriented programming

View project on GitHub

Warships

Educational project Warships for the development and use of knowledge on the course of OOP students of the Bauman Moscow State Technical University of the CAD Systems Department. The project was divided into several components, which were subsequently divided among the developers of the project.The project consists of 2 modules, each of which is divided into several submodules:

  • The graphical component (Interface) and AI were assigned to the student Mandzhiev.
  • The parser and the logical component (parser, game logic) were assigned to the student Kuzov.

About the game “Sea Battle”

Sea Battle is a game in which players take turns choosing coordinates on an unknown opponent’s map. If the opponent has a ship at these coordinates (the coordinates are occupied), then the ship or part of it is “drowned”, and the hit gets the right to make another move. The player’s goal is to sink all enemy ships first.

Main Features

  • The game supports its own custom rules (width and height).
  • There are islands on the map that are randomly distributed across the map. The number of islands is distributed randomly. They do not allow the user to place ships on the cells occupied by them.
  • The ships are located by the user independently, but he can resort to a random arrangement of the remaining ships.
  • The game allows you to save and load sessions during the game.

Requirements:

The following must be installed on the device:

  • C++14
  • Cmake 3.16
  • Make

Instructions for working with the project

Assigning project directories:

  • docs - documentation files
  • configs- configuration files
  • include - header files
  • src - .cpp files

Questions? Comments? Suggestions?

We are ready to explore any additions)