/* * Copyright Daniel Jones 2018 * cell.h is part of qtminesweeper, a simple minesweeper clone. * * 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 CELL_H #define CELL_H #include "square.h" class cell : public square { public: explicit cell(int flag); enum flagtype { REVEALED = 1 << 0, /* square is revealed */ FLAG = 1 << 1, /* square is a selected flag */ MINE = 1 << 2, /* square is a mine */ NUMBER = 1 << 3 /* square is a number */ }; void flagcheck(); int getflags(); void reveal(); void makemine(); private: enum flagtype flags; void setflags(int flag); protected: }; #endif