diff options
| author | Daniel Jones <admin@danieljon.es> | 2020-06-12 00:03:37 +0930 | 
|---|---|---|
| committer | Daniel Jones <admin@danieljon.es> | 2020-06-12 00:03:37 +0930 | 
| commit | 6739115f07b39da3ed59572faf393f9846bd4784 (patch) | |
| tree | fef79a608906f46267b0e7e498cc81e058579aa8 /Board.h | |
| parent | 49d97e71dae1955317a316cea16f9987585ef256 (diff) | |
| download | foxminesweeper-6739115f07b39da3ed59572faf393f9846bd4784.tar.gz foxminesweeper-6739115f07b39da3ed59572faf393f9846bd4784.zip  | |
basic game working
Diffstat (limited to 'Board.h')
| -rw-r--r-- | Board.h | 15 | 
1 files changed, 14 insertions, 1 deletions
@@ -18,21 +18,34 @@  #include <vector>  #include <memory>  #include <cstdio> +#include <cstdlib> +#include <time.h>  #include "Tile.h"  class Board  {  	public: -		Board(int width, int height); +		Board(int width, int height, int minecount);  		~Board();  		int get_tile_count(){ return tilecount; };  		Tile *get_tile_at(int x, int y);  		bool reveal_tile_at(int x, int y);  		void new_game(int x, int y); +		bool is_game_running() { return this->game_running; }; +		bool is_game_won() { return this->game_won; }; +		bool check_win();  	private:  		std::vector<std::shared_ptr<Tile>> tiles; +		void generate_mines(); +		void retrieve_neighbors(); +		void count_neighbor_mines(Tile *tile); +		bool reveal_neighbor_tiles(int x, int y); +		bool game_won; +		void reveal_all_mines();  		int tilecount; +		int minecount;  		int width;  		int height; +		bool game_running;  };  #endif  | 
