Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

Example: Minesweeper More...

Public Member Functions

 MineSweeper (const SizeOptions &opt)
 Actual model.
 
virtual void print (std::ostream &os) const
 Print solution.
 
 MineSweeper (MineSweeper &s)
 Constructor for cloning s.
 
virtual Spacecopy (void)
 Copy space during cloning.
 
- Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
 ScriptBase (const Options &opt)
 Constructor.
 
 ScriptBase (ScriptBase &e)
 Constructor used for cloning.
 
virtual void compare (const Space &home, std::ostream &os) const
 Compare with s.
 

Related Symbols

(Note that these are not member symbols.)

int main (int argc, char *argv[])
 Main-function.
 

Minesweeper specifications

A specification is a square matrix of characters. Alphanumeric characters represent the number of mines adjacent to that field. Dots represent fields with an unknown number of mines adjacent to it (or an actual mine).

const char * specs []
 The specifications.
 
const unsigned int n_examples = sizeof(specs)/sizeof(char*)
 Number of specifications.
 
int spec_size (const char *s)
 Compute the size of a specification.
 
int mineField (const char *s, int n, int i, int j)
 Return value at position (i,j) in the example s of size n.
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Driver::ScriptBase< BaseSpace >
static std::ostream & select_ostream (const char *sn, std::ofstream &ofs)
 Choose output stream according to sn.
 
template<class Script , template< class > class Engine, class Options >
static void run (const Options &opt, Script *s=NULL)
 

Detailed Description

Example: Minesweeper

This is the classical MineSweeper game.

The instances are taken from http://www.janko.at/Raetsel/Minesweeper/index.htm

Definition at line 60 of file minesweeper.cpp.

Constructor & Destructor Documentation

◆ MineSweeper() [1/2]

MineSweeper::MineSweeper ( const SizeOptions & opt)
inline

Actual model.

Definition at line 95 of file minesweeper.cpp.

◆ MineSweeper() [2/2]

MineSweeper::MineSweeper ( MineSweeper & s)
inline

Constructor for cloning s.

Definition at line 135 of file minesweeper.cpp.

Member Function Documentation

◆ print()

virtual void MineSweeper::print ( std::ostream & os) const
inlinevirtual

Print solution.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 117 of file minesweeper.cpp.

◆ copy()

virtual Space * MineSweeper::copy ( void )
inlinevirtual

Copy space during cloning.

Definition at line 141 of file minesweeper.cpp.

Friends And Related Symbol Documentation

◆ specs

const char* specs[]
related

The specifications.

Definition at line 179 of file minesweeper.cpp.

◆ n_examples

const unsigned int n_examples = sizeof(specs)/sizeof(char*)
related

Number of specifications.

Definition at line 278 of file minesweeper.cpp.

◆ main()

int main ( int argc,
char * argv[] )
related

Main-function.

Definition at line 152 of file minesweeper.cpp.

◆ spec_size()

int spec_size ( const char * s)
related

Compute the size of a specification.

Definition at line 281 of file minesweeper.cpp.

◆ mineField()

int mineField ( const char * s,
int n,
int i,
int j )
related

Return value at position (i,j) in the example s of size n.

Definition at line 288 of file minesweeper.cpp.


The documentation for this class was generated from the following file: