Cellulära automater och en implementering av Conways spelet i livet (6 / 11 steg)

Steg 6: skapa

Detta steg gäller skapandet av den första konfigurationen. Om du använder C ++ 11, tror jag det enklaste sättet att förvara automat innebär vektorer. Detta sätt, storleken på automat är anpassningsbar. Eftersom de lagrade data upprätthåller en 2-dimensionell form, är det bäst att förvara automat som en 2-dimensionell vektor (dvs vektorer i en vektor). Med denna installation ses automat som ett rutnät. Varje rad i rutnätet lagras som en vektor. Varje rad vektor lagras i sin tur i den huvudsakliga vektorn. Antag att vi vill börja med 10 celler med 10 cellrutnätet. Vector deklarationen skulle likna följande:

vektor < vector > rutnät (10, vektor(10, 0));

Denna förklaring inte bara skapar ett 10 x 10 rutnät men också initierar varje cellvärde till 0 (eller döda). Nu kan du implementera oavsett kod för att ändra värden i celler från början vid liv. Anta att jag vill ha cellerna initialt vid liv att bilda en solid kvadrat på nätet (från deras färg skillnader som noterat tidigare), så jag skulle genomföra en slinga som liknar följande:

för (int jag = 2; jag < 8; i ++)
{

för (int k = 2; k < 8; k ++)

Grid [i] [k] = 1;

}

Detta skapar önskat vektorn kallas rutnät, som jag sedan kan använda för att lagra den cellulär automat. Märke att jag har lämnat de två yttre skikten av celler i en död. Dessa lager är avgörande för automat. Jag kommer att förklara dem i steg 7. Som en separat funktion kallas newAutomaton() skulle detta segment av programmet likna följande:

vektor < vector > newAutomaton()
{

vektor < vector > rutnät (10, vektor(10, 0));

för (int jag = 2; jag < 8; i ++)
{
för (int k = 2; k < 8; k ++)

Grid [i] [k] = 1;

}

returnera rutnät.

}

Detta segment kan enkelt anpassas för att uppfylla kraven i uppgiften, men det ligger till grund för komponenten skapandet av simuleringen.


Se Steg
Relaterade Ämnen

OTCA Metapixel - Conways spelet i livet

Conway's Game of Life är en typ av 2D cellulär automat som använder en enkel uppsättning regler för att beskriva funktionen hos celler över diskret tid steg. Överraskande, kan du skapa mycket komplexa beteende från cellulära automater även om reglern...

Cellulär automat Design för korsstygn iPhone Case

här hittar du design (och källkoden för det) att jag beslutat om för min DIY iPhone 4 fall, som liksom några tips och tricks om hur man gör en ren (och kvistfri!) nål-punkt projekt som ser cool också.BakgrundOm ett och ett halvt år sedan (juli 2011)...

Cellulära automater (länk till koden ingår)

jag skapade detta Java-kod för att producera 2D cellulära automater mönster. Tar det i en regel nummer (0-255) och iteration nummer.Till exempel producerades mönstret i huvudbilden genom att mata in (126 50).Här är en länk till en textfil som innehål...

Kontoret tillförsel Makeover! Målade tangentbord, Tape automater och häftapparat!

Tråkigt kontor levererar tar dig?Lägg lite liv till din office – eller hemma med dessa målade bitar!Steg 1: Tråkig, repad, oläsliga tangentbord! Låt oss börja med tangentbord grunderna.Okej, hatade alla min computern klaviatur.Alla. Ja... de gjorde o...

Hur man förlorar 100 + Pounds och hålla den bort för livet

flera år sedan, bestämde jag mig för att mitt liv var tvungen att ändra. Jag var väldigt överviktig, helt stillasittande och skäms över vad jag gett mig att bli. Jag hade varit på så många Dieter i hela mitt liv och hade alltid fått vikt tillbaka. De...

Hur att drastiskt påskynda yout PC och underhålla det rusat för livet av systemet.

Detta är en tutorial som jag gjorde om hur att rensa upp, justera och optimera du PC till gör det körs snabbare än när du först köpte det och för att hålla det så. Jag kommer lägga upp bilder så fort jag får en chans till, tyvärr som av just nu jag h...

Konstruera och bygga din egen Hnefatafl spelet styrelsen

Jag skulle vilja börja detta Instuctable med att förklara min motivation för att göra denna spelplanen. För några månader sedan såg jag en I'ble om hur man gör en mycket intressant schackbräde. Eftersom jag har en bror som är vägen in i schack och an...

Återskapa glansiga utseendet på Windows Vista och OS X, på objekt i verkliga livet.

Lägga till moderna operativsystem som Windows Aero och Apples Aqua, underbara gloss finish till objekt i verkliga livet? Detta Instructable kommer visar processen för att lägga till en permanent, glansigt, avsluta till ytor och föremål i verkliga liv...

PCB för Conway's spel livets

detta är min version på PCB för 20 x 4 LCD-spelet i livet. Jag skrev inte koden endast gjorde en örn PCB för det.http://www.Daqq.EU/index.php?show=prj_game_of_lifeSteg 1: Ett fel på schematiskt jag följde den schematiska som tillhandahålls på webbpla...

8 x 8 ledde matrisen för RaspberryPi och 3 program

Detta är en 8 x 8 ledde matrisen för en RaspberryPi och tre program som körs på det:1 - ett "Hello World" program med en fullständig Engelsk teckensnitt.2 - ett tärningsspel.3 - en liten 8 x 8 version av Conway's Game of Life..Du behöver:Raspber...

Göra en 8 x 10 LED Matrix

uppdatering 1: Jag har lagt till kod för CONWAYS spelet i livetUPPDATERING 2: NU KAN DU SPARA NÅGRA ARDUINO PINS MED HJÄLP AV 1 SKIFTREGISTER.I detta instructable jag kommer att visa dig hur man bygger en ganska fancy 8 av 10 LED matrix (med rullande...

Kul med Arduino, inget annat behövs

Anledningen till den tomma bakbord i bilden är eftersom det finns ingen kretsar att bygga, allt du behöver är en Arduino.Jag var nyfiken att se hur en Arduino skulle fungera för matematik och enkel textbaserad grafik så jag beslöt att göra en liten e...

PicChess

Letss spela schack?Detta projekt är en micro controller schackspel. Målet har för att kunna spela schack på en VGA-bildskärm, inklusive en intelligent dator att spela mot. Allt detta har åstadkommits med en mikrokontroller.Jag började detta som ett p...

K-9 2.0. WiFi kontrollerade och autonom Robot hund.

OBS:I steg 22, har jag postat en uppdatering, förklarar några senaste förändringar/förbättringar som jag har gjort, främst på K-9's elsystem och sensor array som du kan ha nytta.FunktionerRobust trä (MDF) och akryl designHelt mikroprocessorstyrda anv...

Automater rörelse läromedel

Detta är en GCSE DT system och praxis projektet jag har skapat. Detta är en uppgift min lärare har satt vår hela klassen och där vi har frihet att skapa saker att uppfylla kraven.Ledsen för bristen på uppladdningar im rädd tentor prioriteras.Jag ska...

Imprint ljud och radiovågor på din näthinna: förstärkt verklighet med perfekt anpassning

Med S.W.I.M. (sekventiell Imprinting vågmaskin) kan du se annars osynliga ljud vågor och radiosände vinkar, tryckt på din näthinna, på fotografiska medier eller glasögon/kamera.Detta beror på något jag samtalet Phenomenological eller fenomenal Augmen...

Hur man använder elektroniska Circut styrelser och andra saker med

Detta är hur du använder circutry styrelser och saker.Jag är inte gammal, så detta är mycket, mycket, mycket grundläggande.bra för nybörjare som vill lära sig robotics.låter komma igång!Steg 1: Steg 1: servon och trådlösa anslutningarDu behöver en av...

Quiz Game Controller med hjälp av "Ljus och ljud Buzzers" och Arduino

fara stil frågesport spel är favoriter för att skapa spänning och pedagogiska instruktioner samtidigt. Lärare, summer camp rådgivare och även industrin pedagoger hitta denna typ av spel för att skapa intresse och engagemang från deltagarna.Tanken bak...

Minecraft TNT kanon (laddar och bränder med hjälp av en knapp!!!)

Denna kanon kommer att lansera ett block av aktiva TNT på du mål med en knapptryckning Njut den instructable! Blocket med TNT lanserar upp till 80 block!Steg 1: Vad du behöver 1.) 25 bitar av redstone2.) 25 repeatrar3.) 1 hink med vatten4.) 10 automa...