Advertisement
Guest User

SweeperBoard.h

a guest
Jul 2nd, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #pragma once
  2. #include <vector>
  3.  
  4. struct BoardSquare
  5. {
  6.     BoardSquare();
  7.     bool isVisible;
  8.     bool isFlagged;
  9.     bool isMine;
  10.     int numMinesAround;
  11. };
  12.  
  13. class SweeperBoard
  14. {
  15. public:
  16.     SweeperBoard(int width_x, int width_y, int minePercent);
  17.     void PrintBoard();
  18.     bool Pop(int x, int y);
  19.     bool Flag(int x, int y);
  20.     bool Unflag(int x, int y);
  21.  
  22.     bool gameLost;
  23.     bool gameWon;
  24.  
  25. private:
  26.     typedef std::vector<std::vector<BoardSquare>> BoardType;
  27.     typedef std::vector<BoardSquare> SubBoardType;
  28.     typedef BoardType::iterator BoardType_iter;
  29.     typedef SubBoardType::iterator SubBoardType_iter;
  30.  
  31.     inline BoardSquare& SquareAt(int x, int y);
  32.     void CheckVictoryCondition();
  33.     bool IsValidPosition(int x, int y);
  34.     void LeakPositions(int x, int y);
  35.     void ValidateFill(int x, int y);
  36.     void IncrementPosition(int x, int y);
  37.     bool CreateMine(int x, int y);
  38.    
  39.     BoardType *boardVector;
  40.  
  41.     int numMines;
  42.     int visSpace;
  43.  
  44.     int boardSize_x;
  45.     int boardSize_y;
  46. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement