Paso 8: Cómo actualizar la posición de la bola
El updateBallPosition() es despedido de la interrupción de rebose del temporizador 1 y se utiliza para actualizar la posición de la bola.
Aquí estamos:
estas instrucciones de actualización de la dos variables ballX ballY según la variable de ballDirection .
Como se explicó anteriormente, el ballDirection puede asumir estos valores:
Por lo tanto, inicialmente añadimos la posición actual de la bola a la dirección de la bola.
Esto simplifica la gestión de la dirección de la bola porque la matriz fila, por ejemplo, va de 0 a 5 de arriba hacia abajo mientras que la matriz COL va de 0 a 6 de de izquierda a derecha.
Esto significa que si la ballDirection es a {1,0}, H05
Ahora hemos actualizado las variables BallX y BallY , pero no la realidad posición de la bola en la matriz.
Esto porque primero queremos comprobar si la bola hace alguna colisión con la frontera de la matriz o en el bar.
Estas funciones coinciden con la posición de la bola a las fronteras de la matriz.
Si las bolas toque el borde superior y derecho o izquierdo, las bolas rebotan porque cambiamos su dirección.
Ahora actualizamos el matrixState con la nueva posición de pelota de esta manera:
Primero nos claro la posición de la bola anterior despejando su posición en el array matrixState.
A continuación establece la posición de la bola nuevo en el matrixState.