Pong op de PIC XGS (8 / 36 stap)

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.

Gerelateerde Artikelen

Interactieve LED Beer Pong tafel

Interactieve LED Beer Pong tafel

Maak uw eigen interactieve LED Beer Pong tafel!Dit instructable zal u door alle stappen te begeleiden om het maken van een one-of-a-kind bier pong tafel compleet met kopje opsporen van RGB peulen, automatische bal sluitringen, een 32 x 12 ping pong b
Handheld Pong & Invaders op de goedkope (Arduino compatibel)

Handheld Pong & Invaders op de goedkope (Arduino compatibel)

Een retro hand-held gaming systeem goedkoop genoeg voor een kids' project. Mogelijk? Absoluut! Breng enkel op de kracht van Arduino en goedkope Chinese onderdelen!Dit project werd ontworpen als een soldeer project voor een groep van half-een-dozijn 9
Hoe maak je een ping pong ball gun

Hoe maak je een ping pong ball gun

ben je moe van office/klas/achtertuin oorlogen zonder stijlvolle of efficiënte wapens?Moe van het krijgen schot met een goedkoop plastic bb gun dat doet pijn als hel en pauzes na 5 schoten?Wilt u uw collega's / vrienden zonder zorgen over het gevaar
Pong Watch

Pong Watch

tijd voor een ander retro project, ditmaal een draagbaar - altijd op - Pong Watch. Geïnspireerd door de klassieke video game, Pong.Hier is de video van het in actie.https://Youtu.be/E3OZoS39RkkStap 1: Onderdelenlijst Horloge behuizing - goedkope 99p
De vier spelers koffietafel Pong Video Game.

De vier spelers koffietafel Pong Video Game.

UPDATE 12 APRIL 2011Belangrijk! Ik heb in kennis gesteld van een probleem met de printplaat ontwerp met betrekking tot de twee drukknoppen. Om de knoppen goed te laten werken moet u hen verbinden met de haven uitbreiding in plaats van de aansluitinge
Pimp mijn Pong

Pimp mijn Pong

maandag 9 maart:Ik krijg wind van dit Think Geek hacks contest, een week laat, franticly, ik raakte thinkgeek.com op zoek naar een gemakkelijk doden, budget en ideeën die zowel lege opdagen.Hoe zit het met die pong kit ~ 2 jaar geleden kocht ik van h
Ping-Pong Blinky

Ping-Pong Blinky

Ok, ik kocht de TI MSP-EXP430G2 Dev-bestuur een tijdje geleden, en het was over de keer dat ik het uit, zoals altijd, met LED's en Ping-Pong balletjes probeerde.Het verdwijnt tussen de kleuren.U moet:Een 2xAA batery houder, met 2 AA-batterijenEen 9v
Gemakkelijke opklapbare Ping-pong tafel

Gemakkelijke opklapbare Ping-pong tafel

Laten we een opklapbare ping pong tafel als mijn eerste DIY-project gepubliceerd in instrucables.com. De werkelijke afmetingen van een een ping pong tafel zijn 274 x 152 cm, als gevolg van de moeilijkheid van vervoer, onze tafel zal hebben de volgend
Ping Pong Ball Full colour Binary Clock

Ping Pong Ball Full colour Binary Clock

Kleur veranderende binaire klok 24 uur met behulp van ping pong ballen en full-colour LED's en een Funduino 8 * 8 matrix bord.Ik heb al een kleine 12Hr binaire klok gebouwd en het voorzien in een computer, dit werkte heel goed, maar was slechts echt
Een ping pong bal bij zal drijven!

Een ping pong bal bij zal drijven!

Hallo!Ik heb altijd gefascineerd door dingen die draadloos worden gecontroleerd door bewegingen van de hand die waarschijnlijk waarom ik een Wii eigen nu dat ik ben te denken over het. Maar ik heb niet echt gekregen om controle van de beweging van mi
PIC 12F675 programmeur/OscCal herstellen/Tester

PIC 12F675 programmeur/OscCal herstellen/Tester

Een van mijn circuits dat ik heel vaak (20-40 tegelijk), gebruik een PIC 12F675 bouwen. Ik had de volgende problemen:De planken die ik maak, heeft geen in-circuit programming mogelijkheden. Dit is om voor de lay-out van een klein PC-bestuur. Foto's m
Laat een PIC microprocessor program

Laat een PIC microprocessor program

OK hoe hard kan een PIC microprocessor programmering worden?Nou het hangt ervan af, sommige zijn harder dan anderen voor verschillende redenen, de programmeertaal, het type microprocessor, het gebruiksgemak van de software voor het bewerken en vooral
Low-Cost IC Test Clip voor PIC ICSP

Low-Cost IC Test Clip voor PIC ICSP

Ik maakte de Low Cost IC Test Clip voor ICSP voor PIC Microcontrollers.http://Neo-Sahara.com/wp/ic_test_clipStap 1: Koperen band en doek peg gebruiken.Stap 2: De koperen tape zetten op de doek peg en snijd de tapes als 2,54 mm pitch.Stap 3: Soldeer k
Ping Pong Ball Sparkler

Ping Pong Ball Sparkler

Ik vonk beetje.Stap 1: verzamelen Verzamelen een ping pong bal en een doos of twee van de Sprite bommenStap 2: Maak een gat Maakt een klein gaatje in de balStap 3: Plaats ballen In Plaats van de kleine bommen binnenStap 4: gooien Kunt u over 5-6 grot