-
Notifications
You must be signed in to change notification settings - Fork 0
/
pole.cpp
63 lines (53 loc) · 1.1 KB
/
pole.cpp
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
#include "pole.h"
#include "SFML\Graphics.hpp"
#include <iostream>
void pole::set(sf::Texture &nic, sf::Texture &jeden, sf::Texture &dwa, float x, float y)
{
puste =& nic;
kolko =& jeden;
krzyzyk =& dwa;
setTexture(*puste);
setPosition(x, y);
}
void pole::change(int stan)
{
if (stan == 0) setTexture(*puste);
if (stan == 1) setTexture(*kolko);
if (stan == 2) setTexture(*krzyzyk);
}
void pole::reset()
{
if (blokada) return;
setTexture(*puste);
}
bool pole::onMouseMove(sf::Vector2i pozycja)
{
if (getGlobalBounds().contains((sf::Vector2f) pozycja))
{
return 1;
}
else
{
return 0;
}
}
bool pole::click(sf::RenderWindow &window, sf::Mouse::Button button)
{
if (sf::Mouse::isButtonPressed(button) && onMouseMove(sf::Mouse::getPosition(window))) // sprawdzenie czy zostal wcisniety odpowiedni klawisz i czy w³aœnie nad danym polem
{
while (sf::Mouse::isButtonPressed(button)) { } //czekamy az klawisz zostanie puszczony
if (onMouseMove(sf::Mouse::getPosition(window)))
{
return 1;
}
}
return 0;
}
// Konstruktor, destruktor
pole::pole()
{
blokada = 0;
}
pole::~pole()
{
}