Gra w życie - implementacja w StarLogo
Uwaga!
Po zajeciach przy jednym z komputerów znaleziono pamięć przenośną (pendrive).
Po zgubę można się zgłosić na zajęciach za tydzień.
Automaty komórkowe:
Automaty komórkowe - wikipedia
Gra w życie:
Kod programu Gra w życie w Starlogo:
; Gra w zycie
; Stan biezacy kazdego pola przechowujemy w kolorze
; kolor czarny - pole martwe, inny - pole zywe
; Stan w kroku kolejnym przechowujemy w zmiennej alive-next
; wartosc 0 - pole zywe, wartosc 1 - pole martwe
; definicja zmiennej alive-next dla kazdego pola
patches-own [ alive-next ]
; metoda czyszczaca plansze
to setup
ca
end
; kroki gry
to go
next-step ; wyznacz kolejny stan
color-patches ; pokoloruj pola zgodnie z wyznaczonym powyzej stanem
end
to next-step
ask-patches [ ; wykonuj polecenia na wszystkich polach
let [:licznik 0] ; definicja zmiennej lokalnej licznik
; sprawdz stany (kolory) wszystkich 8 sasiadow
; jesli zywy (nie czarny) zwieksz licznik o jeden
if (pc-at -1 -1) != black [set :licznik :licznik + 1]
if (pc-at -1 0) != black [set :licznik :licznik + 1]
if (pc-at -1 1) != black [set :licznik :licznik + 1]
if (pc-at 0 -1) != black [set :licznik :licznik + 1]
if (pc-at 0 1) != black [set :licznik :licznik + 1]
if (pc-at 1 -1) != black [set :licznik :licznik + 1]
if (pc-at 1 0) != black [set :licznik :licznik + 1]
if (pc-at 1 1) != black [set :licznik :licznik + 1]
; Regula Zycia
; Jesli komorka jest martwa (czarna)
; i ma dokladnie 3 zywych sasiadow
; to staje sie zywa
; w przeciwnym razie pozostaje martwa
if pc = black
[ ifelse :licznik = 3
[set alive-next 1]
[set alive-next 0] ]
; Regula Smierci
; Jesli komorka jest zywa (nie czarna)
; i ma 2 lub 3 zywych sasiadow
; to pozostaje zywa
; w przeciwnym razie umiera
if pc != black
[ ifelse (:licznik = 2) or (:licznik = 3)
[set alive-next 1]
[set alive-next 0] ]
]
end
to color-patches
ask-patches [ ; wykonuj polecenia na wszystkich polach
; jesli komorka ma byc martwa
; pokoloruj ja na czarno
; w przeciwnym razie na czerwono
ifelse alive-next = 0
[ setpc black ]
[ setpc red ]
]
end
Plik programu StarLogo do ściągnięcia tutaj.
wersja strony: 10, ostatnia edycja: 08 Oct 2008 16:34