Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- using namespace std;
- class MineSweeper{
- vector< vector<char> > board;
- int sizeB;
- public:
- MineSweeper();
- void makeBoard();
- void showBoard();
- void mineChecker();
- };
- MineSweeper::MineSweeper(){
- makeBoard();
- mineChecker();
- }
- void MineSweeper::makeBoard(){
- cout << "How big would you like the table to be: ";
- cin >> sizeB;
- for(int i = 0; i < sizeB; i++){
- cout << "Insert values for row "<< i+1 <<endl;
- vector<char> row;
- for(int j = 0; j < sizeB; j++){
- char v;
- cout << "["<<i<<"]["<<j<<"]: ";
- cin >> v;
- row.push_back(v);
- }
- board.push_back(row);
- }
- cout << endl;
- }
- void MineSweeper::mineChecker(){
- for(int i = 0; i < sizeB; i++){
- for(int j = 0; j < sizeB; j++){
- int manyMines = 0;
- if(board[i][j] != '*'){
- if(j>0){
- if(board[i][j-1] == '*'){
- manyMines++;
- }
- if(i>0){
- if(board[i-1][j-1] == '*') manyMines++;
- }
- if(i < sizeB-1){
- if(board[i+1][j-1] == '*') manyMines++;
- }
- }
- if(j < sizeB-1){
- if(board[i][j+1] == '*'){
- manyMines++;
- }
- if(i>0 && board[i-1][j+1] == '*'){
- manyMines++;
- }
- if(i < sizeB-1 && board[i+1][j+1] == '*'){
- manyMines++;
- }
- }
- if(i>0 && board[i-1][j] == '*') manyMines++;
- if(i < sizeB-1 && board[i+1][j] == '*') manyMines++;
- board[i][j] = (char)(((int)'0')+manyMines);
- }
- }
- }
- }
- void MineSweeper::showBoard(){
- for(int i = 0; i < sizeB; i++){
- for(int j = 0; j < sizeB; j++){
- cout << board[i][j] << " ";
- }
- cout << endl;
- }
- cout << endl;
- }
- int main(){
- MineSweeper swep;
- swep.showBoard();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement