-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathPlayers.cpp
More file actions
76 lines (61 loc) · 1.63 KB
/
Players.cpp
File metadata and controls
76 lines (61 loc) · 1.63 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
#include"Player.h"
tPlayers resetPlayers() {
tPlayers players;
players.player1y = COURT_HEIGHT / 2;
players.player2y = COURT_HEIGHT / 2;
players.service = false;
return players;
}
tInput keyBoardInput() {
tInput input;
//W key;
input.keyCode[0] = 87;
//S key;
input.keyCode[1] = 83;
//Up Arrow;
input.keyCode[2] = VK_UP;
//Down Arrow;
input.keyCode[3] = VK_DOWN;
//Space key;
input.keyCode[4] = 32;
for (int i = 0; i < MAXNUMBEROFKEYS; ++i) {
if (GetKeyState(input.keyCode[i]) == -128 || GetKeyState(input.keyCode[i]) == -127)
input.keysBeingPressed[i] = true;
else
input.keysBeingPressed[i] = false;
}
return input;
}
void transformInput(tMovement &player1Move, tMovement &player2Move, bool &service) {
tInput input = keyBoardInput();
if (input.keysBeingPressed[0])
player1Move = up;
else if (input.keysBeingPressed[1])
player1Move = down;
else
player1Move = standstill;
if (input.keysBeingPressed[2])
player2Move = up;
else if (input.keysBeingPressed[3])
player2Move = down;
else
player2Move = standstill;
if (input.keysBeingPressed[4])
service = true;
else
service = false;
}
void movePlayers(tPlayers &players) {
tInput input;
tMovement player1Move, player2Move;
transformInput(player1Move, player2Move, players.service);
if (player1Move == up && players.player1y > 0)
players.player1y -= 1;
else if (player1Move == down && players.player1y < COURT_HEIGHT - (PLAYER_HEIGHT))
players.player1y += 1;
if (player2Move == up && players.player2y > 0)
players.player2y -= 1;
else if (player2Move == down && players.player2y < COURT_HEIGHT - (PLAYER_HEIGHT)) {
players.player2y += 1;
}
}