Olafs Ameise
Dieses Projekt gehört zu einigen, die keinen wirklichen praktischen Sinn machen, aber Spaß gemacht haben, sie zu realisieren. Streng genommen gehört ja auch die zuvor besprochene Binäruhr dazu, denn eine Uhr sollte ja eigentlich so leicht wie möglich abgelesen werden können…
Langton’s Ant ist eine bekannte Simulation einer Ameise. Diese bewegt sich auf einem zweidimensionalen Feld nach festen Regeln. Ich habe dies für ein 16 x 16 Neopixel-Display programmiert und die Regeln sind folgende:
Die Felder leuchten je nach ihrem Zahlenwert:
Die Ameise selbst leuchtet rot.
Eine gewisse Herausforderung stellten die Ränder dar. Ist die Ameise bereits am rechten Rand angekommen und soll weiter nach rechts laufen, so ändert sie zwar den Wert des Feldes, bewegt sich jedoch nicht. Ihre nächste Bewegung wird dann durch den geänderten Wert des Feldes bestimmt. Nach diesem Prinzip wird auch für links, oben und unten verfahren.
Als eine weitere Schmakazie habe ich eingebaut, dass die Bewegungsgeschwindigkeit am äußersten Rand nur 1/4 beträgt, in der Reihe davor nur 1/2.
Hier ein kurzes Video dazu: