-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcoderdojo_pong_processing.pde
More file actions
176 lines (127 loc) · 4.09 KB
/
Copy pathcoderdojo_pong_processing.pde
File metadata and controls
176 lines (127 loc) · 4.09 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
// Positie van de paddles
int paddle_links_y;
int paddle_rechts_y;
// Beweging van de paddles
int beweeg_paddle_links = 0;
int beweeg_paddle_rechts = 0;
// Scores van de spelers
int score_links = 0;
int score_rechts = 0;
// Positie van het balletje
int balletje_x;
int balletje_y;
// Snelheid van het balletje
int snelheid_balletje = 5;
// Richting van het balletje
int richting_balletje_x = 1;
int richting_balletje_y = 1;
void setup(){
// Maak het scherm 800 bij 600 pixels
size(800, 600);
// Zet de paddles verticaal in het middel van het scherm (op de Y-as)
paddle_links_y = height/2;
paddle_rechts_y = height/2;
// Zet het balletje netjes in het midden van het scherm
resetBalletje();
}
void draw(){
// Hier mag je zelf aan de slag! :)
}
/*
-------------------------------------------------------------
De functies hieronder hebben we alvast voor je gemaakt! :)
-------------------------------------------------------------
*/
void resetBalletje(){
/*
Deze functie zet het balletje weer netjes in het midden als het uit het scherm verdwenen is.
*/
balletje_x = width/2;
balletje_y = height/2;
}
boolean balletjeAanLinkerKant(){
/*
Controleren of het balletje aan de linkerkant van het scherm is ter hoogte van de paddle.
We gebruiken hier 35 omdat de paddle 20 pixels van de rand staat en 15 pixels breed is. 20 + 15 = 35 is dus de rechter kant van de paddle.
*/
if(balletje_x < 35){
return true;
}
else{
return false;
}
}
boolean balletjeAanRechterKant(){
/*
Controleren of het balletje aan de rechterkant van het scherm is ter hoogte van de paddle.
We gebruiken hier width - 35 om de linkerkant van de rechter paddle te berekenen. De paddle staat immers
20 pixels van de rand af en is 15 pixels breed. De paddle staat rechts dus moeten we dit van de breedte van het scherm (600) af trekken.
*/
if(balletje_x > width - 35){
return true;
}
else{
return false;
}
}
boolean balletjeRaaktLinkerPaddle(){
/*
Controleren of het balletje op de Y-as ergens tussen het begin en het einde van de paddle is.
Dit doen we door te kijken of de Y positie van het balletje meer is dan de Y positie van de rechter paddle,
maar minder is dan de Y positie van de rechter paddle plus de hoogte van de paddle (namelijk: 80 pixels).
WEETJE 1: < en > betekenen meer dan en minder dan. Bijvoorbeeld 1 < 2 en 10 > 5 (1 is minder dan 2, en 10 is meer dan 5)
WEETJE 2: && betekend EN. Dus: Als balletje_y meer is dan paddle_links_y EN balletje_y minder is dan paddle_links_y + 80 (hoogte van paddle).
*/
if(balletje_y > paddle_links_y && balletje_y < paddle_links_y + 80){
return true;
}
else{
return false;
}
}
boolean balletjeRaaktRechterPaddle(){
/*
Deze functie doet eigenlijk hetzelfde als de functie 'balletjeRaaktLinkerPaddle()' maar kijkt dan naar de rechter paddle.
*/
if(balletje_y > paddle_rechts_y && balletje_y < paddle_rechts_y + 80){
return true;
}
else{
return false;
}
}
void keyPressed(){
/*
de keyPressed functie wordt automatisch uitgevoerd als een toets op het toetsenbord wordt ingedrukt.
de variabele 'key' bevat de ingedrukte toets. Dit kunnen letters zijn maar ook speciale toetsen zoals UP en DOWN (pijltjes toetsen).
*/
// paddle links
if(key == 'w'){
beweeg_paddle_links = -10;
}
if(key == 's'){
beweeg_paddle_links = 10;
}
// paddle rechts
if(keyCode == UP){
beweeg_paddle_rechts = -10;
}
if(keyCode == DOWN){
beweeg_paddle_rechts = 10;
}
}
void keyReleased(){
/*
de keyReleased functie wordt automatisch uitgevoerd als een toets op het toetsenbord wordt losgelaten.
de variabele 'key' bevat de losgelaten toets. Dit kunnen letters zijn maar ook speciale toetsen zoals UP en DOWN (pijltjes toetsen).
WEETJE: De twee streepjes betekend OF. Dus als de losgelaten toets de W-toets is OF de S-toets.
*/
// paddle links
if(key == 'w' || key == 's'){
beweeg_paddle_links = 0;
}
// paddle rechts
if(keyCode == UP || keyCode == DOWN){
beweeg_paddle_rechts = 0;
}
}