Pong på XGS bild (28 / 36 steg)
Steg 28: AI paddel Demo - genomföra AI
Nu till intressanta: AI algoritmen. Den självklara metoden ha mittpunkten av paddla alltid följa bollen ger en extremt brutala motståndare och liten chans för spelaren att göra mål. En mer förlåtande algoritm följer bollen om det är i rätt skick och förbi en viss del av skärmen. Eftersom AI-kontrollerade paddeln är på höger sida av skärmen, måste bollen vara i en höger-flytta stat för en kollision att uppstå. När du väljer ett x-läge att starta AI kontroll, ju närmare valet är 0, svårare AI, som AI kommer ha mer tid att fånga upp till bollens nuvarande y-koordinaten. Med en tredjedel av skärmen som en död zon ger en utmanande motståndare.Så, om bollen är i ett höger-flytta tillstånd och tidigare under mitten av skärmen, AI bör försöka matcha mittpunkten av paddla med mittpunkten på bollen för att maximera möjligheten av en kollision. Därför, om bollen är för närvarande över mittpunkten av paddla, paddla bör flytta uppåt eller stegvis minskning y-koordinaten för platsen. Likaså om bollen är för närvarande under mittpunkten av paddla, bör paddla flytta nedåt eller ökar värdet för y-koordinaten för platsen.
En sista fråga: The AI paddel ska inte rulla utanför skärmen. Detta kan inträffa om paddeln är tangent till toppen bunden av skärmen och bollen är fortfarande rör sig uppåt. Ett annat fall finns symmetriskt om bollen är i rörelse nedåt. Den enklaste lösningen är att kontrollera placeringen av paddeln innan flytta paddeln i respektive riktning. Ett liknande problem uppstår för spelaren matar in i nästa fas. Den kompletta AI algoritmen ser ut ungefär:
om (state_x == BALL_RIGHT & & ball_x > = skärmbredd/3)
om (ball_y + boll/2 > p2_y + PADDLE_HEIGHT/2) {
om (p2_y < SCREEN_HEIGHT-PADDLE_HEIGHT)
p2_y ++;
} annat
om (p2_y > 0)
p2_y--;