-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPlayer.cpp
More file actions
125 lines (124 loc) · 2.26 KB
/
Player.cpp
File metadata and controls
125 lines (124 loc) · 2.26 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include"Player.h"
Player::Player()
{
isDead = false;
player_pX = 0;
player_pY = -45;
entity.clear();
player_half_X = 3;
player_half_Y = 5;
}
float Player:: getHalfX()
{
return player_half_X;
}
float Player:: getHalfY()
{
return player_half_Y;
}
void Player::up(float speed, float dt)
{
player_pY += 14;
}
void Player::down(float speed, float dt) {
player_pY -= 14;
}
void Player::left(float speed, float dt) {
player_pX -= 5;
}
void Player::right(float speed, float dt) {
player_pX += 5;
}
float Player:: getX()
{
return player_pX;
}
float Player::getY()
{
return player_pY;
}
void Player:: setX(float src)
{
player_pX = src;
}
void Player:: setY(float src)
{
player_pY = src;
}
void Player:: setIsDead(bool check)
{
isDead = check;
}
bool Player:: getIsDead()
{
return isDead;
}
bool Player::isImpact(vector<Threat*>threat)
{
for (auto x : threat)
{
for (auto y : x->getThreat())
{
if (player_pX + player_half_X > y->getX() - y->getHalfX()
&& player_pY + player_half_Y > y->getY() - y->getHalfY()
&& player_pX - player_half_X < y->getX() + y->getHalfX()
&& player_pY - player_half_Y < y->getY() + y->getHalfY())
{
setIsDead(true);
return true;
}
}
}
return false;
}
void Player::move(Input* input, float dt, float speed)
{
{
if (released(BUTTON_W)||released(BUTTON_UP))
{
is_down(BUTTON_W) = true;
is_down(BUTTON_UP) = true;
up(speed, dt);
}
if (released(BUTTON_S)||released(BUTTON_DOWN))
{
is_down(BUTTON_S) = true;
is_down(BUTTON_DOWN) = true;
down(speed, dt);
}
if (released(BUTTON_A) || released(BUTTON_LEFT))
{
is_down(BUTTON_A) = true;
is_down(BUTTON_LEFT) = true;
left(speed, dt);
}
if (released(BUTTON_D) || released(BUTTON_RIGHT))
{
is_down(BUTTON_D) = true;
is_down(BUTTON_RIGHT) = true;
right(speed, dt);
}
render_state = getRender();
Renderer::draw_titan(getX(), getY(), getHalfX(), getHalfY());
return;
}
}
void Player::checkWall(float x, float y, float half_x, float half_y)
{
if (player_pX + player_half_X > 50)
{
setX(50);
}
if (player_pY + player_half_Y > half_y + y)
{
setY(40);
}
if (player_pX - player_half_X < -90)
{
setX(-half_x - x + player_half_X);
}
if (player_pY - player_half_Y < -half_y - y)
{
setY(-half_y - y + player_half_Y);
}
}