Stap 29: AI Paddle Demo - botsingdetectie
Het laatste deel aan deze demo is toevoegen aan de huidige botsing detectiecode te wijzigen. De wijziging nodig is vrij onbeduidend. Nu dat er een peddel aan de rechterkant van het scherm, kan een van de twee mogelijke scoren voorwaarden worden toegepast. Daarom moet het subcase in de bal beweging code wanneer de bal recht en tangent naar de rechterkant van het scherm verplaatsen is te veranderen. In plaats van het stuiteren, de bal moet worden gereset en een functie al bestaat om dat te doen! Bel gewoon resetBall() in plaats van het veranderen van de staat.De toevoeging aan de botsing detectiecode is vrij eenvoudig. Het eerste stukje om te controleren is de status van de bal. Als de bal rechts beweegt, dan bestaat de mogelijkheid van een botsing. De bal is eventueel raakt aan de peddel, eenvoudig vergelijk de locaties van zowel de bovenste als rechtsonder hoek van de bal met de linkerkant van de peddel. Als beide hoek is de raaklijn aan de peddel, treedt er een botsing op. Vandaar is het enige wat je moet doen is de status wijzigen. De botsing detectie algoritme moet er ongeveer zo uitzien:
if (state_x == BALL_RIGHT) if (ball_x+BALL == P2_X) if ((ball_y >= p2_y && ball_y <= p2_y+PADDLE_HEIGHT) || (ball_y+BALL >= p2_y && ball_y+BALL <= p2_y+PADDLE_HEIGHT)) state_x = BALL LEFT;