User manual
002
if (ballX == 1 || ballX == 127) {
003
setup();
004
}
005
if (ballY == 1 || ballY == 63) {
006
collisionY = collisionY * -1;
007
}
008
if (abs(ballX - player1X) <=2 && abs(ballY - player1Y) < 9) {
009
collisionX = collisionX * -1;
010
level++;
011
}
012
if (abs(ballX - player2X) <=2 && abs(ballY - player2Y) < 9) {
013
collisionX = collisionX * -1;
014
level++;
015
}
016
ballX = ballX + collisionX;
017
ballY = ballY + collisionY;
018
}
Zoals u kunt zien, zijn er verschillende vragen over de positie van de bal. Als deze op de
x-positie 1 of 127 bevindt, betekent dit dat deze niet succesvol gestopt werd en via linker-
of rechterkant uit het speelveld gevlogen is. In dit geval wordt de setup-routine opgeroepen
en kan het spel opnieuw beginnen. Bevindt de bal zich op de y-stand 1 of 63, dan stuitert
de bal op de bovenste of onderste rand, door negeren van de collisionY-Variabele en
daarmee de richting van de bal wordt omgekeerd. In beide vragen
if (abs(ballX - player1X) <=2 && abs(ballY - player1Y) < 9)
wordt bepaald of de bal door een racket wordt teruggeslagen door controles op als de bal
dicht genoeg bij de racket is en deze raakt. Als dit het geval is, dan wordt de
bewegingvariabele in de x-richting omgekeerd, en het niveau wordt verhoogd.
001
void movePlayer() {
002
if (player1Y < 7) {
003
player1Y++;