Game of life
Game of Life är en berömd simulering som uppfanns 1970 av John Conway. Det går till som så, att i en 'värld' bestående av en tvådimensionell matris kan varje cell bebos av en individ. I varje generation dör några individer och andra föds. Om en individ har för många grannar dör den, och om den har för få dör den också, av ensamhet. En individ har som mest åtta grannar; en ovanför, en nedanför, en på vardera sidan, och en vid varje 'hörn'.
Reglerna är enkla:
- En individ med ingen eller en granne dör av ensamhet i nästa generation.
- En individ med fyra eller fler grannar dör av överbefolkning i nästa generation.
- En individ med två eller tre grannar överlever in i nästa generation.
- I en tom cell som har exakt tre grannar kommer en ny individ att födas i nästa generation. Om cellen redan är bebodd sker ingen förändring.
- Alla födslar och dödsfall inträffar samtidigt. Det innebär till exempel att en individ som har fyra grannar, och alltså dör, ändå själv är granne och kan medverka till en annan individs död eller födelse i nästa generation.
Uppgiften
Din uppgift är att skriva ett program där man upprepade gånger kan köra Game Of Life på en 10*10-matris. Programmet ska vara menystyrt, och som användare ska man kunna:
- Initiera matrisen (dvs bestämma antalet individer och sedan slumpa ut deras positioner i matrisen).
- Stega fram en generation i taget, och rita upp matrisen.
- Generera 10 generationer i taget, och rita upp resultatet (var 10:e gång alltså).
- Slumpa ut ett nytt starttillstånd (utan att starta om programmet).
- Avsluta programmet.
Den som vill veta mer om Game of Life kan läsa här.