Advertisement
NinjaFighter69696969

Soap

Oct 25th, 2014
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. class MineSweeper{
  8.     vector< vector<char> > board;
  9.     int sizeB;
  10. public:
  11.     MineSweeper();
  12.     void makeBoard();
  13.     void showBoard();
  14.     void mineChecker();
  15. };
  16.  
  17. MineSweeper::MineSweeper(){
  18.     makeBoard();
  19.     mineChecker();
  20. }
  21.  
  22. void MineSweeper::makeBoard(){
  23.     cout << "How big would you like the table to be: ";
  24.     cin >> sizeB;
  25.     for(int i = 0; i < sizeB; i++){
  26.         cout << "Insert values for row "<< i+1 <<endl;
  27.         vector<char> row;
  28.         for(int j = 0; j < sizeB; j++){
  29.             char v;
  30.             cout << "["<<i<<"]["<<j<<"]: ";
  31.             cin >> v;
  32.             row.push_back(v);
  33.         }
  34.         board.push_back(row);
  35.     }
  36.     cout << endl;
  37.  
  38. }
  39.  
  40. void MineSweeper::mineChecker(){
  41.     for(int i = 0; i < sizeB; i++){
  42.         for(int j = 0; j < sizeB; j++){
  43.             int manyMines = 0;
  44.             if(board[i][j] != '*'){
  45.                 if(j>0){
  46.                     if(board[i][j-1] == '*'){
  47.                     manyMines++;
  48.                     }
  49.                     if(i>0){
  50.                         if(board[i-1][j-1] == '*')  manyMines++;
  51.                     }
  52.                     if(i < sizeB-1){
  53.                         if(board[i+1][j-1] == '*')  manyMines++;
  54.                     }
  55.  
  56.                 }
  57.  
  58.                 if(j < sizeB-1){
  59.                     if(board[i][j+1] == '*'){
  60.                         manyMines++;
  61.                     }
  62.                     if(i>0 && board[i-1][j+1] == '*'){
  63.                         manyMines++;
  64.                     }
  65.                     if(i < sizeB-1 && board[i+1][j+1] == '*'){
  66.                         manyMines++;
  67.                     }
  68.                 }
  69.  
  70.                 if(i>0 && board[i-1][j] == '*') manyMines++;
  71.                 if(i < sizeB-1 && board[i+1][j] == '*') manyMines++;
  72.  
  73.  
  74.                 board[i][j] = (char)(((int)'0')+manyMines);
  75.             }
  76.  
  77.         }
  78.     }
  79. }
  80.  
  81. void MineSweeper::showBoard(){
  82.     for(int i = 0; i < sizeB; i++){
  83.         for(int j = 0; j < sizeB; j++){
  84.             cout << board[i][j] << " ";
  85.         }
  86.         cout << endl;
  87.     }
  88.  
  89.     cout << endl;
  90. }
  91.  
  92. int main(){
  93.     MineSweeper swep;
  94.  
  95.     swep.showBoard();
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement