From 1d38c1aa4c7fda8e55325783596df26e54a9777e Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Thu, 11 Jun 2020 01:57:18 +0930 Subject: initial progress --- Tile.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Tile.h (limited to 'Tile.h') diff --git a/Tile.h b/Tile.h new file mode 100644 index 0000000..176893f --- /dev/null +++ b/Tile.h @@ -0,0 +1,46 @@ +/* + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef TILE_H +#define TILE_H + +class Tile +{ + public: + Tile(int x, int y); + ~Tile(); + void disable_tile(); + void create(); + int get_x() { return x; }; + int get_y() { return y; }; + void reveal(); + enum STATE + { + HIDDEN = 1 << 0, + MINE = 1 << 1, + FLAGGED = 1 << 2, + REVEALED = 1 << 3, + }; + enum STATE get_flags() { return flags; } + void set_flag(enum STATE flag) { this->flags = (STATE) (this->flags | flag); } + void set_flags(enum STATE flags) { this->flags = flags; } + private: + int x; + int y; + enum STATE flags; + +}; + +#endif -- cgit v1.2.3