Delete 'src/minefield.hpp~'
This commit is contained in:
@@ -1,46 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
//#include <emmintrin.h>
|
|
||||||
#include <sigc++/signal.h>
|
|
||||||
#include <vector>
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <ctime>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
struct Cell {
|
|
||||||
bool isFlagged;
|
|
||||||
bool isCleared;
|
|
||||||
bool isBomb;
|
|
||||||
int bombsNearby;
|
|
||||||
Cell(): isFlagged(false), isCleared(false), isBomb(false), bombsNearby(-1) {};
|
|
||||||
};
|
|
||||||
|
|
||||||
class MineField {
|
|
||||||
|
|
||||||
std::vector<std::shared_ptr<Cell>> m_cells;
|
|
||||||
int m_rows;
|
|
||||||
int m_cols;
|
|
||||||
int m_totalMines;
|
|
||||||
int m_remainingFlags;
|
|
||||||
bool m_exploded;
|
|
||||||
void computeBombsNearby(int x, int y);
|
|
||||||
void openNeighboorhood(int x, int y);
|
|
||||||
void setClearCell(int x, int y);
|
|
||||||
|
|
||||||
public:
|
|
||||||
MineField(int cols, int rows, int mines);
|
|
||||||
void initBombs(int x, int y);
|
|
||||||
bool isBomb(int x, int y);
|
|
||||||
bool isFlagged(int x, int y);
|
|
||||||
bool isCleared(int x, int y);
|
|
||||||
bool clearCell(int x, int y);
|
|
||||||
int bombsNearby(int x, int y);
|
|
||||||
bool isGameOver() {return m_exploded; };
|
|
||||||
int getCols() {return m_cols; };
|
|
||||||
int getRows() {return m_rows; };
|
|
||||||
bool toggleFlag(int x, int y);
|
|
||||||
int getRemainingFlags() {return m_remainingFlags; };
|
|
||||||
int getTotalMines() {return m_totalMines; };
|
|
||||||
sigc::signal<void(int, int)> clearCellSignal;
|
|
||||||
sigc::signal<void(int)> remainingFlagsChangedSignal;
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user