-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.cpp
More file actions
95 lines (82 loc) · 2.4 KB
/
main.cpp
File metadata and controls
95 lines (82 loc) · 2.4 KB
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
#include "Minesweeper.h"
int main() {
std::unique_ptr<Minesweeper> ms;
try {
ms = std::make_unique<Minesweeper>("Pildid"); // Constructor takes directory with pictures.
} // When a specific picture fails to load, filename is thrown as error.
catch (std::string s) {
std::cout << "Pildifailist " << s << " sisselugemine ebaõnnestus!\n";
return 0;
}
sf::RenderWindow window(sf::VideoMode({640, 480}), "Minesweeper", sf::Style::Default);//, sf::Style::Titlebar | sf::Style::Close);
window.setFramerateLimit(30);
sf::View view;
while (window.isOpen())
{
if(ms->getKuvaGraafika())
{
while (const std::optional event = window.pollEvent())
{
if (event->is<sf::Event::Closed>())
window.close();
else if (const auto* mouseButton = event->getIf<sf::Event::MouseButtonPressed>()) // Mouseevent instead!!
ms->handleEvent(window, mouseButton->button);
if (const auto* resized = event->getIf<sf::Event::Resized>())
{
sf::FloatRect visibleArea(
{0.f, 0.f},
{static_cast<float>(resized->size.x),
static_cast<float>(resized->size.y)}
);
view = sf::View(visibleArea);
window.setView(view);
}
}
}
else
{
ms->kuvaMangulaud(window);
ms->kaikTerminalis();
}
if(ms->getKuvaGraafika())
{
window.clear();
ms->kuvaMangulaud(window);
window.display();
}
if (ms->kasMangOnLabi()) {
if (ms->kasOliKaotus()) ms->kuvaKaotusEkraan(window);
else ms->kuvaVoiduEkraan(window);
ms->kusiManguLauaAndmed();
}
}
/*
// Esialgne versioon - terminalis
int valitudRida, valitudVeerg;
bool lipuPanek, korrektneSisend{false};
char valik;
while (!ms->kasMangOnLabi())
{
ms->prindiMangulaud();
korrektneSisend = false;
//Tuleks kontrollida iga v��rtuse puhul veel, et sisestati �ige andmet��p - errorite kinnip��dmisega ilmselt
std::cout << "Vali rida: ";
std::cin >> valitudRida;
std::cout << "Vali veerg: ";
std::cin >> valitudVeerg;
while (!korrektneSisend) {
std::cout << "Vali kas panna lipp v�i avada see m�ngulaua ruut (l - pane lipp, a - ava ruut): ";
std::cin >> valik;
if (valik == 'l') {
lipuPanek = true;
korrektneSisend = true;
}
else if (valik == 'a') {
lipuPanek = false;
korrektneSisend = true;
}
}
ms->teeKaik(valitudRida, valitudVeerg, lipuPanek);
}*/
return 0;
}