mines
Loading...
Searching...
No Matches
mines Module Reference

Core library for mines. More...

Classes

class  Arguments
 Parsed commandline arguments. More...
class  UnknownOption
 Unknown option argument. More...
class  RepeatedOption
 Option repeated too many times. More...
class  LeftoverPositionalArgument
 Too many positional arguments. More...
class  InvalidSaveData
 Save data that was attempted to be deserialized is invalid. More...
class  TooManyMines
 The number of mines is more than what is possible given the size of the minefield. More...
class  NoMinefield
 The board has no associated minefield. More...
class  Minefield
 Field of cells, each being either a mine or a blank space. More...
class  Board
 Game board, including the minefield, placed flags and uncovered cells. More...
class  Game
 Game. More...
class  Interface
 User interface. More...
class  GameView
 Text user interface view of a Game. More...
class  Move
 Move made during a play. More...
class  Play
 Finished play of the game. More...
class  Console
 Terminal input/output handle. More...
class  MenuOption< T >
class  Menu< T >

Enumerations

enum class  CellType { Empty , Mine }
 Type of a cell in a minefield. More...
enum class  CellState { Hidden , Flag , Mark , Uncovered }
 State of a cell on a game board. More...
enum class  MoveType {
  Uncover , UncoverNear , Flag , Mark ,
  Unflag
}
 Type of a move. More...

Functions

Arguments parse_arguments (const std::vector< std::string > &arguments)
 Parse commandline arguments.
std::vector< Playdeserialize_save (std::span< const std::uint8_t > bytes)
 Deserialize save data from bytes.
std::vector< std::uint8_t > serialize_save (const std::vector< Play > &plays)
 Serialize save data to bytes.
const std::vector< std::tuple< std::int32_t, std::int32_t > > solve (const Minefield &minefield, const std::vector< std::tuple< std::int32_t, std::int32_t > > &moves)
 Solve a minefield.

Detailed Description

Core library for mines.

Files

file  src/mines.cpp
file  src/cli.cpp
file  src/console.cpp
file  src/game.cpp
file  src/menu.cpp
file  src/model.cpp
file  src/play.cpp
file  src/save.cpp
file  src/view.cpp