Pong på XGS bild (7 / 36 steg)

Steg 7: Spelet konstruktioner - spelet logik - kollision upptäckt genomförandet

När du arbetar i 2-dimensionell rymd, är genomförandet faktiskt en aning enklare. Stället har en slinga kolla varje möjligt Tangerande punkt på både objekt eller kanter, kontroll av högst två punkter kommer att räcka i alla fall.

Fokus på de övre och nedre kanterna, (x, 0) och (x, Y - s) är de enda möjliga Tangerande punkterna, där 0 < = x < = X. kom ihåg att varje objekt representeras logiskt av ett ordnat par som är dess längst upp till vänster. Om bollens läge (bx, by) och om by= 0, då bollen är tangent till överkanten på skärmen. Detta krävs endast en jämförelse att räkna ut när du ska ändra till den nedåtgående staten. Också, om by = Y - s, då den boll måste också ändra dess tillstånd att flytta uppåt.

De vänstra och högra kanterna är lika enkla. Minns att (0, y) och (X - s, y) är de möjliga Tangerande punkterna, där 0 < = y < = Y. Nästa steg är att jämföra bx till 0 och X - s. Om bx är lika med något av dessa värden, har då scoring villkoret inträffat. Troligt, kommer bollen att återställas för att fortsätta spela.

Den sista uppsättningen av fall, när bollen kolliderar med paddeln, är bara lite svårare. Låt (px, py) vara den aktuella platsen för paddeln. Fokusera på vänster paddeln, är den första sak att kontrollera rätt x-koordinater. För vänster paddla, alla möjliga vertikala Tangerande punkter ligga på (px + w, y), där 0 < = y < = Y. logiskt, om px + w = bx, sedan en kollision kan förekomma. Det finns några andra punkter att kontrollera.

Nästa steg är att jämföra de y-koordinaterna. Grafiskt, sker en kollision exakt när någon pixel bollen är mellan övre och nedre kanter på paddeln. Från föregående avsnitt på kollision upptäckt, kan alla möjliga Tangerande punkter beskrivas som alla punkter mellan (px + w, py) och (px + b, py + h) om h är höjden på paddeln. Vid denna punkt, är det möjligt att förenkla algoritmen genom att jämföra bara två poäng. Om det övre vänstra hörnet eller nedre vänstra hörnet är tangent till att paddla, då det måste finnas minst en punkt i bollen som visuellt ser ut som kolliderar det med paddeln. Genom att kontrollera dessa två punkter, kontrollerar algoritmen som alla punkter på vänster sida av bollen implicit. Högra paddeln fungerar på ett liknande sätt, förutom punkterna att kontrollera är topp - och botten-rätt hörn av bollen, Funna vid (bx + s, by) och (bx + s, by + s).

Vid genomförandet av kollision upptäckt, ordningen på jämförelser frågor. Beräkningar, och därför tid, kan sparas genom att kontrollera de viktiga punkterna i en viss ordning. Ta till exempel vänster paddeln. Antag att y-koordinaterna var kontrolleras först i algoritm. Av naturen är det ett komplicerat uttryck i många programmeringsspråk. Efter detta uttryck är markerad, skulle nästa steg vara att jämföra x-koordinater. Vid körning, kan det vara troligt att spelaren är efter bollen tätt längs det vertikala planet, så den första jämförelsen blir sant åtminstone ett par gånger under uppspelning, även när bollen är på andra sidan av skärmen. X-koordinaten uttrycket, dock sant exakt en gång för en hel del ramar. Om jämförelser var vänt, kostsamma y-koordinaten beräkningen kan sparas för att användas endast exakt när det behövs, eftersom det kanske råkar vara sant ett par gånger när det inte behövs.

Därför kollision upptäckt för paddlar ser ut ungefär så här:

1. Kontrollera om bx = px
2. Markera om by < = py och by < = py + h, eller om by + s < = py och by + s < = py + h
3. ändra bollens staten

Varje efterföljande steg måste vara sant att fortsätta till nästa. Skärm kanten kollisioner fungerar exakt enligt beskrivningen, eftersom det finns bara en enda punkt att kontrollera.

Se Steg
Relaterade Ämnen

Solo Cup - öl Pong kostym

denna solo cup kostym är super lätt att göra och är en stor interaktiv grupp kostym. Samla 2, 4 eller 12 vänner att göra ett fullt lag! Ta några ping pong bollar och du har en öl pong spel att gå. Kostym inkluderar även en inbyggd i öl hylla.Steg 1:...

Beer Pong alarmklocka

så im ska bara börja med att berätta för alla varför jag gjorde detta projekt. ha en väckarklocka bredvid min säng bara var inte skära det, jag skulle slå på snooze-knappen så ofta att jag var sen till nästan allt. och detta är precis vad jag gjorde...

Ping Pong katapult

jag byggde detta ping pong katapult för barnen men de är en stor stress reliver på kontoret kan du ha några verkliga roligt med dessaJag tittade på några bra mönster över internet och alla jag såg hade en tendens att använda standard lolly pinnar, ja...

Hur man bygger en öl Pong bord topp

Syfte:· Lära de grundläggande reglerna för öl pong· Hur framgångsrikt ett kollegialt öl pong bordSteg 1: Vad är ölpong?Beer Pong:· Beer Pong används oftast som ett kollegium dricka spel· Den består av 2 lag 2. Varje lag som börjar med 10 koppar fylld...

Animera spelet Pong

välkomna alla till vår animation och vi kommer eb visar er hur man skapar spelet pong via post det noterar och andra material som används i hela våra stegSteg 1: Se våra skisser innan produktionen Detta är vad vi planerat innan du gör något, först tä...

Flyta en ping pong boll på kommer!

Hej!Jag har alltid varit fascinerad av saker som styrs trådlöst med hand rörelser vilket förmodligen är varför jag äger en Wii nu när jag tänker på det. Men jag har inte riktigt kommit till göra någon rörelsekontroll av min egen design innan så det k...

Pong klocka

Mars 2014 uppdatera! Version 5.1 av koden är ute med buggfixar och ett trevligt gemener teckensnitt. Få det medan det är varmt! Länken är på den sista sidan i detta instructable!Denna klocka använder det klassiska spelet Pong för att tala om tid. 2 s...

Handheld Pong & inkräktare på billigt (Arduino kompatibel)

Ett retro handhållna spelsystem billigt nog för en barnens projekt. Möjliga? Absolut! Bara ta på Arduino och billiga kinesiska komponenter!Projektet var utformat som ett lödning projekt för en grupp av ett halvdussin 9 och 10 år gamla barn men det är...

Littlebits Pong

Detta projekt visar Pong spelet från denLite bitar webbplats på http://littlebits.cc/projects/analog-pong. Kontrollera att du har Arduino IDE installerat(se SOS-projektet för instruktioner).Steg 1: PongBörja med en effektmodul.Steg 2: PongLägga till...

Couch Pong

den grundläggande tanken med detta projekt var att arbeta med en redan existerande futon/liten soffa som min farfar hade gett mig och förvandla det till mer än bara en soffa. Bor i ett studentrum är naturligtvis ganska trångt så när utforma detta pro...

Vakuum kanon kör ping pong boll i överljudshastighet

Jag ska här beskriva en kanon som kan köra ping pong bollar tillräckligt snabbt för att gå igenom plywood och aluminium burkar. Denna "vakuum kanon" har visats i college fysik klasser, eftersom det innebär många grundläggande fysik begrepp som N...

Baserade Arduino Bi-color LED Matrix Pong spel

Vi har skapat två game-projekt instructables hittills använda jolliFactory Bi-color LED Matrix Driver modul DIY kit vi har utformat. Denna ledde matrisen modul är utformad för att kunna kedja-så du kan seriekoppla moduler tillsammans med antalet modu...

Flytande öl Pong tabell

för många här, det är sommartid nu. För många av dessa människor: sommartid parterna (nämligen sådana utomhus). För många av dessa människor inkluderar detta en pool vid något tillfälle. Och sedan ett parti ofta innehåller öl pong för många (unga) mä...

Någonstans Beer Pong på hjul

vi älskar att spela beer pong så skapade jag min egen version om du vill ta med överallt. Det kan tas isär och lagrade och det är på hjul. Projektet kräver sömnad och tog mig ca 2 timmar. Camping i sommar kommer att bli skitkul när jag rullar ut den...

LED Pong

Snabb överblick:Jag kallar detta "LED Pong". Jag byggde det från grunden och jag baserat designen på en 1 meter individuellt adresserbara lysdioder och en Arduino Uno. Pong var en av de första video arcade-spel som någonsin gjorts. Det släpptes...

Motorized Ping Pong Ball Guns

Detta Instructable kommer att lära dig hur man gör en motoriserad pingpong klumpa ihop sig vapnet. Dessa ping pong boll kanoner finns en hel del kul att bygga, men roligare att skjuta. Jag gjorde detta som en julklapp för min son.UV LED-lampor monter...

Kids Cup Pong spel

jul kväll, min fästman ', 2 sons, och jag gick till en goda vänner hem för spel och drycker (som varje semester). Samtidigt vara god deras son tog fram en gåva från Santa, ett spel som heter Cup Ponk (tm). Ett spel som är populära detta förflutna sem...

Pong spel med fpga kit

Hej var och en. här delade jag projektet "pong spelet med fpga kit". FPGA är field programmable gate array. Det är en teknik att vi kan utforma någon digital enhet genom programmering. Det betyder i fpga kit fungerar som alla digitala enheter so...

Interaktiva LED öl Pong tabell

Skapa din egen interaktiv LED öl Pong tabell!Detta instructable kommer att guida dig igenom alla stegen för att skapa en en-av-en-slag öl pong tabell komplett med cup upptäcka RGB pods, automatisk boll brickor, en 32 x 12 ping pong boll LED rutnät, s...