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
102
103
104
105
106
107
108
|
#include <SFML\Audio.hpp>
#include <SFML\System.hpp>
#include <SFML\Graphics.hpp>
#include <SFML\Window.hpp>
#include <Windows.h>
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
sf::RenderWindow App(sf::VideoMode::GetMode(0) , "Game" );
sf::Clock clock;
sf::Image PacO(454,340);
sf::Image PacC(454,340);
PacO.LoadFromFile("PacManOpen.jpg");
PacC.LoadFromFile("PacManClose.jpg");
PacO.CreateMaskFromColor(sf::Color(255,255,255),0);
PacC.CreateMaskFromColor(sf::Color(255,255,255),0);
int PosW = 0, PosH = 0;
long Touble = 0;
sf::Sprite PAC;
sf::Vector2f pos = PAC.GetPosition();
stringstream tmp, tmp1;
tmp << pos.x;
tmp1 << pos.y;
sf::Font MyFont;
MyFont.LoadFromFile ("arialbd.ttf" , 26);
sf::String Text;
Text.SetText(tmp.str() + " , " + tmp1.str());
Text.SetFont(MyFont);
Text.SetSize(50);
Text.SetColor(sf::Color(0,0,0));
while(App.IsOpened())
{
Touble++;
sf::Event Event;
while (App.GetEvent(Event))
{
if(Event.Type == sf::Event::Closed)
App.Close();
}
App.Clear(sf::Color(255,255,255));
if(Touble == 120)
{
PAC.SetImage(PacO);
}
else if(Touble == 240)
{
PAC.SetImage(PacC);
Touble = 0;
}
App.Draw(PAC);
Text.SetText(tmp.str() + " , " + tmp1.str());
tmp << pos.x;
tmp1 << pos.y;
App.Draw(Text);
App.Display();
float ElapsedTime = App.GetFrameTime();
if (App.GetInput().IsKeyDown(sf::Key::Left)) PAC.Move(-1, 0);
if (App.GetInput().IsKeyDown(sf::Key::Right)) PAC.Move( 1, 0);
if (App.GetInput().IsKeyDown(sf::Key::Up)) PAC.Move(0, -1);
if (App.GetInput().IsKeyDown(sf::Key::Down)) PAC.Move(0, 1);
if (App.GetInput().IsKeyDown(sf::Key::Left)||App.GetInput().IsKeyDown(sf::Key::Space)) PAC.Move(-2, 0);
if (App.GetInput().IsKeyDown(sf::Key::Right)||App.GetInput().IsKeyDown(sf::Key::Space)) PAC.Move( 2, 0);
if (App.GetInput().IsKeyDown(sf::Key::Up)||App.GetInput().IsKeyDown(sf::Key::Space)) PAC.Move(0, -2);
if (App.GetInput().IsKeyDown(sf::Key::Down)||App.GetInput().IsKeyDown(sf::Key::Space)) PAC.Move(0, 2);
}
return 0;
}
|