blob: 80f25bf29d962e94c0857abbe586721c56f49987 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <sys/stat.h>
#include "globals.hpp"
using namespace std;
bool inGame = false;
class Game{
private:
static constexpr int MAX_W = 32;
static constexpr int MAX_H = 32;
int boardWidth;
int boardHeight;
bool bombMap[MAX_H][MAX_W];
int tileMap[MAX_H][MAX_W];
int mines;
public:
void initDiff(int diff){
switch(diff){
case 0:
boardWidth = 9;
boardHeight = 9;
mines = 9;
break;
case 1:
boardWidth = 16;
boardHeight = 16;
mines = 12;
break;
case 2:
boardWidth = 30;
boardHeight = 16;
mines = 16;
break;
case 3:
cout << "Editing game parameters\n";
cout << "Board Width: ";
cin >> boardWidth;
if(boardWidth > 32){
cout << "Board width can't be more than 32 cells.\n";
} else if(boardWidth < 8){
cout << "Board width can't be less than 8 cells.\n";
}
cout << "Board Height: ";
cin >> boardHeight;
if(boardHeight > 32){
cout << "Board height can't be more than 32 cells.\n";
}else if(boardHeight < 8){
cout << "Board height can't be less than 8 cells.\n";
}
cout << "Mines: ";
cin >> mines;
if(mines > 16){
cout << "There can't be more than 16 mines.\n";
}
break;
}
}
void initBoard(){
for(int i = 0; i < boardHeight; i++){
for(int j = 0; j < boardWidth; j++){
// false = no bomb; true = bomb;
bombMap[i][j] = rand() % 2;
}
}
for (int i = 0; i < boardHeight; i++) {
for (int j = 0; j < boardWidth; j++) {
// 0 = unrevealed tile
// 1 = revealed tile
// from 2 to 10 - revealed tiles with numbers
tileMap[i][j] = 0;
}
}
}
void displayBoard(){
for (int i = 0; i < boardHeight; i++) {
for (int j = 0; j < boardWidth; j++) {
putchar(tileMap[i][j]);
}
}
}
};
|