Star Wars thema retro arcadespel (4 / 9 stap)

Stap 4: Procedurele niveauontwerp


Ontwerpen van niveaus voor games op voorhand oneindig te scrollen is uiteraard onmogelijk. Je moet komen met de algoritme voor het genereren van terrein.

Hier zijn eisen voor mijn algoritme die ik kwam met:

Scherm leeg (met niets anders dan de speler daarop) moet beginnen en obstakels moeten beginnen schuiven vanaf de rechterkant. Elke keer dat scherm schuift, moet een nieuwe belemmering worden toegevoegd. Hieraan kan worden toegevoegd in ofwel de bovenste of de onderste rij maar speler moet kunnen om te voorkomen botsing zodat wanneer obstakel rij van de ene rij naar de andere verschuivingen, een lege kolom moet worden weergegeven. Omdat we willen de speler direct reageren, is hij altijd slechts één cel van tijd om te gaan dus niet meer dan één lege kolom moet worden weergegeven achter elkaar gegeven.

Ik gecodeerd eerst dit algoritme in python want het is heel gemakkelijk om te zuiveren en veel gemakkelijker te begrijpen wanneer vergeleken bij de C-code. Bovendien als u hoe en waarom het werkt in python begrijpen, kun je het in C als goed.

 import random last = 0 skipped = 0 sym=[" ","X"] a="" b="" for i in range(100): if skipped: a+=sym[last] b+=sym[not(last)] skipped = 0 elif random.randint(0,10)%2 != last: last = not(last) skipped = 1 a+=" " b+=" " else: a+=sym[last] b+=sym[not(last)] print(a) print(b) 

Als u niet weet wat boven python script doet, probeer het en zie wat er gebeurt. Het is eenvoudig en u moet zitten kundig voor postuur op uiterlijk snel.

Ik vervolgens vertaald deze code C en sommige bit operaties gebruikt als optimalisatie. U hoeft niet te gebruiken, kunt u gemakkelijk weglaten die en stok met matrix operaties.

 unsignedint last = 0; bool skipped = 0; unsignedint a = 0b0000000000000000; unsignedint b = 0b0000000000000000; a = a << 1; b = b << 1; //this moves averything one place to the leftif(skipped){ a = a | last; b = b | !last; skipped = 0; } else{ randomSeed(millis()); if (random(10)%2){ last = !last; skipped = 1; //a = a<<1;//b = b<<1 } else{ a = a | last; b = b | !last; } 

Dat is het wat betreft niveau generatie. Deze functie (zonder variabelen declareren) wordt aangeroepen telkens scherm wordt geschoven. Na terrein generatie scherm opnieuw getekend.

Gerelateerde Artikelen

Arduino zoemer Star Wars thema

Arduino zoemer Star Wars thema

Arduino zoemer Star Wars themaYouTube-video 'sDocumenten
Bruidsparen mannen cufflink en stropdas cadeauset. (star wars thema)

Bruidsparen mannen cufflink en stropdas cadeauset. (star wars thema)

Ik ben trouwen en mij en mijn verloofde zijn enorme fans van de Star Wars dus we wilde opnemen in onze bruiloft maar niet gek gaan en hebben een thema bruiloft, dus we zijn met inbegrip van kleine hints van star wars in onze dag.een van de manieren w
Uw oude actiefiguren van Star Wars gebruik te maken van een cool Star Wars thema kerstboom

Uw oude actiefiguren van Star Wars gebruik te maken van een cool Star Wars thema kerstboom

Als je als mij hebt u wellicht enkele oude actiefiguren van Star Wars uit uw kindertijd verstopt weg wat waar.  Nou waarom niet rekken die oude cijfers, stof hen af, en doen iets creatief en leuk met hen.  Maak je eigen kerstboom van Star Wars thema.
Hoe Star Wars thema ijsblokjes maken, chocolade, cookies en boter

Hoe Star Wars thema ijsblokjes maken, chocolade, cookies en boter

dit instructable zal u tonen hoe te maken van Star Wars thema ijsblokjes, chocolade, cookies en boter. Ja Star Wars thema boter.Stap 1: wat moet je mallen van de Star Wars-items die u wenst te maken van uw creaties uit. je kunt ze krijgen op Amazon.c
Q5 een Star Wars thema Astromech Driod

Q5 een Star Wars thema Astromech Driod

Dus bent u een fan van het Star Wars universum en u wilt bouwen uw eigen vertegenwoordiging van een werkende Astomech Driod. Als u niet met nauwkeurigheid betrokken bent maar wil gewoon iets dat ziet er goed uit en werkt vervolgens dit Instructable i
Muur Arduino-aangedreven kerstboom w / Star Wars thema LED lichten

Muur Arduino-aangedreven kerstboom w / Star Wars thema LED lichten

Dit is een perfecte DIY kerstboom voor kleine woningen, appartementen of een kantoor waar u niet een echte boom en willen een beetje kerstsfeer.Kun je eenvoudig of complex met het ontwerp hier, maar ik koos om te gaan vrij eenvoudig met enkele deze r
Star Wars thema bruiloft maïs Hole spel.

Star Wars thema bruiloft maïs Hole spel.

Ik kreeg dit jaar getrouwd en ik en mijn vriendin (nu echtgenote) wilde hebben een aantal leuke buiten spelletjes te bezetten de gasten, terwijl we uit het nemen van foto's en alle andere dingen die gasten aan hun eigen apparaten laat.We wilden spele
Star Wars thema: Trunk-of-traktatie

Star Wars thema: Trunk-of-traktatie

Geschilderde pompoenen in droidsStap 1: Krijgen twee pompoenen voor BB-88Kies uit twee pompoenen die goed boven op elkaar gestapeldStap 2: Verbind pompoenenKnip de stelen af - gebruik van een boor om gaatjes op de top van de grotere pompoen & in de b
Star Wars Han & Leia bruidstaart Topper

Star Wars Han & Leia bruidstaart Topper

Ik kreeg dit idee van het maken van een Star Wars thema taart topper wanneer een client mijn sculptuur van Yoda voor haar bruidstaart topper gebruikt. Ik denk dat het is leuk om te hebben bruiloft thema's en voor Star Wars fan paren, dit is een manie
DIY Lego Planetarium (Star Wars-stijl)

DIY Lego Planetarium (Star Wars-stijl)

Voor alle Star Wars fans of degenen die geïnteresseerd zijn in een natuurkunde-project zijn, is hier een DIY Lego Planetarium, een mechanische model van het zonnestelsel. Het Planetarium zal onder aandacht brengen sommige natuurkunde begrippen zoals
Star Wars Death Star ijslollys

Star Wars Death Star ijslollys

Hallo, dit instructable, zullen wij verder gaan met het Star Wars-thema, laatst instructable maakte we Star Wars Death Star Peanut Butter Cups ( in dit instructable we kómen Star Wars Death Star ijslollys. Dus we echt grote waarde uit onze Death Star
STAR WARS NINTENDO Wii

STAR WARS NINTENDO Wii

dit is een korte instructable over hoe ik wijze een Nintendo Wii case met fiber optic sterren en logo voor een Star Wars thema Wii! Deze Wii is te koop nu op E-Bay, maar ook de Star Wars de Force Unleashed -spel.Waarschuwing Mod op uw eigen risico, i
DIY Star Wars Lightsaber partij gunsten

DIY Star Wars Lightsaber partij gunsten

Deze vrijdag, ontwaakt de kracht. Met Episode VII van de Star Wars-saga première in theaters op de 18e, kon het team van Wholesale partij leveringen niet meer opgewonden! Om te vieren de release van deze aankomende film, het team heeft gemaakt een DI
Licht Sensor Star Wars vacht (Pop Like It's Hoth)

Licht Sensor Star Wars vacht (Pop Like It's Hoth)

Dit is een leuke project dat wordt gebruikt voor een Arduino Lilypad samen met een lichtsensor en zoemer te spelen van de star wars-thema wanneer de kraag van de jas van een Chewbacca is omgedraaid omhoog, en dan stopt de kraag is neergezet terug.I '