User manual

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
}
Come potete vedere, ci sono diverse interrogazioni circa la posizione della palla. Se si
trova sulla posizione x con 1 o 127, ciò significa che non è stata respinta con successo ed è
volta sul bordo sinistro o destro del campo da gioco. In questo caso viene richiamata la
routine di setup e il gioco può iniziare da zero. Se la palla si trova sulla posizione y 1 o 63,
la palla rimbalza sul bordo superiore o inferiore, in cui nega la variabile collisionY-Variable
e quindi inverte la direzione del movimento della palla. In entrambe le interrogazioni
if (abs(ballX - player1X) <=2 && abs(ballY - player1Y) < 9)
viene determinato se la palla è riflessa su una racchetta, per verificare se la palla è abba-
stanza vicina alla racchetta o se tocca la racchetta. In questo caso, la variabile di movi-
mento è invertita in posizione x e il livello aumentato.
001
void movePlayer() {
002
if (player1Y < 7) {
003
player1Y++;
004
}
005
if (player1Y > 55) {
006
player1Y--;