Stap 8: Spel constructies - spel Logic - kunstmatige intelligentie (AI)
Op dit punt kunnen alle tot nu toe de logica worden gemaakt in een compleet spel voor twee spelers. Het zou wel leuk zijn om te voorzien in een modus voor één speler (en zijn een interessante programmering). De AI hoeft niet te worden waterdicht maar handelen intelligent genoeg om te geven de speler een uitdaging te blijven onderhouden. Het huidige probleem ligt in de definitie van het handelen op een intelligente manier.Verwijst naar de gedefinieerde eerder, laat (bx, b,y) worden de huidige locatie van de bal en de (pxpy) aanduiding van de locatie van de peddel van de speler van de computer. De botsing detectiecode zal omgaan met de berekening van botsingen, maar de AI moet verplaatsen van de peddel op een zodanige wijze dat de peddel een botsing met de bal genereert. Daarom zou zorgen te maken over bx en px vreemde. Omwille van de eenvoud van Pong zijn er weinig gevallen te analyseren.
Stel dat py > by. Wat betekent dit in werkelijkheid ten aanzien van het scherm van het spel? De linker bovenhoek van de peddel is lager dan de linker bovenhoek van de bal op het scherm. Het volgende probleem is het definiëren van de optimale strategie voor de speler van de computer. Typisch, de beste strategie voor de speler van de computer is analoog aan een menselijke speler strategie. De beste manier om te sluiten van de verticale afstand tussen de bal en paddle is de peddel omhoog of decrement py.
Logisch, er is één geval links te hanteren: wanneer py < = by. In het scherm van het spel, zal deze zaak dan en slechts dan als de peddel de locatie hoger dan of niveau met de bal locatie is gebeuren. Elkaars spiegelbeeld zijn deze twee gevallen voor de AI in niet alleen de meetkundige kwaliteiten, maar ook hun oplossing. Als een speler is de optimale strategie in deze situatie om de peddel naar beneden verplaatsen of ophogen py.
Het algoritme kan nu meer intuïtief worden beschreven. Met betrekking tot de y-coördinaten van de locatie, als de bal boven de peddel, verplaatst vervolgens de peddel naar boven. Het omgekeerde geldt ook. Maar is dit de optimale strategie? Iets verborgen ligt gebaseerd op willekeurige definities gemaakt eerder te voorzien van eenvoudige grafische algoritmen. Alle locaties waren gedefinieerd als de linkerbovenhoek van het object. Daarom is de huidige algoritme maakt de poging om line-up van de bovenste links-hoeken van de peddel en de bal. Niet per se misschien een slechte strategie, maar het niet geven de speler een schijn van intelligentie.
De logica is goed, maar de vergelijking punten zijn niet de beste keuze. Elke menselijke speler probeert impliciet te maximaliseren van het bedrag van de botsende punten tussen de bal en paddle. De beste locatie op de peddel voor de bal aan het botsen met is eigenlijk redelijk intuïtief: het centrum. De maximale hoeveelheid peddel ruimte verlaten aan beide zijden van een botsende bal zorgt voor een uitstekende fouttolerantie bij het afspelen. Om aan te passen van het algoritme, vergelijk de middelpunten van de bal en peddelen om de AI het uiterlijk van een meer intelligente speler. Door te laten h worden resulteert de hoogte van de peddel, vervolgens (px, py + h/2) in het midden van de peddel. Deze berekening werkt op dezelfde wijze voor de bal.