Flash/AS3
Mrówka Langtona/Langton's ant
zamknięty:
listopad 2011
listopad 2011
zleceniodawca:
projekt uczelniany
Opis: projekt uczelniany
Teoria:
Mrówka Langtona to prosty automat komórkowy wymyślony przez Chrisa Langtona. Może być traktowany również jako rozszerzona do dwóch wymiarów bardzo prosta maszyna Turinga.
W każdym kroku wyróżniona jest jedna komórka nazywana "mrówką", która oprócz koloru ma określony także kierunek, w którym się porusza. Mrówka zachowuje się według następujących zasad:
- jeśli znajduje się na polu białym to obraca się w lewo (o kąt prosty), zmienia kolor pola na czarny i przechodzi na następną komórkę;
- jeśli znajduje się na polu czarnym to obraca się w prawo (o kąt prosty), zmienia kolor pola na biały i przechodzi na następną komórkę;
- porusza się na nieskończonej planszy podzielonej na kwadratowe komórki (pola) w dwóch możliwych kolorach: czarnym i białym.
http://pl.wikipedia.org/wiki/Mr%C3%B3wka_Langtona
A teraz o samym projekcie:
- tak jak i w grze w życie użytłem ActionScript3,
- można wstawiać na planszę wiele mrówek, które "zjadają się" jeśli trafią na to samo pole,
- istnieje możliwość ustawienia startowych kolorów pól.
Nieprędko udało mi się znaleźć sposób na zmianę koloru wybranego przycisku. Oto fragment kodu, który to umożliwia:
package
{
import fl.controls.Button;
import flash.geom.ColorTransform;
//...
public class AntButton extends Button
{
private var curColor:ColorTransform;
public function AntButton(xPos:int, yPos:int)
{
//...
curColor = this.transform.colorTransform;
curColor.color = 0xca7700;
this.transform.colorTransform = curColor;
}
// ...
}
}


