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 |