Zur Ablenkung habe ich gestern ein kleines JavaScript-Programm geschrieben, das systematisch über eine Pixeltafel läuft und die Felder verschieden einfärbt. Ihr könnte es euch hier ansehen. Ich habe es PaintCrawler getauft, weil es bei einer hohen Geschwindigkeit ziemlich wuselig, aber nett aussieht.
Funktionsweise
Der PaintCrawler funktioniert folgendermaßen. Wenn ihr auf „Start“ klickt, setzt er einen schwarzen Punkt in die Mitte des Quadrates und wendet sich dann nach links. Ist dieses Feld nicht schwarz, färbt er es ein und wendet sich wieder nach links und so weiter. Trifft er auf ein bereits schwarzes Feld, färbt er es wieder blau und wendet sich diesmal nach rechts. Und das geht immer so weiter.
Der Programmablauf kann jederzeit mit einem Klick auf „Pause“ unterbrochen werden.
Ich habe mir das Prinzip mal vor Jahren irgendwo abgeguckt, weiß aber nicht mehr wo. Vor kurzem hab ich dann den Notizzettel wiedergefunden und es endlich umgesetzt.
Einstellungen
Mit den Einstellungen unter den Button kann die Map verändert werden.
Mit Map-Größe lässt sich die Abmaße der Map einstellen. Dabei wird die Anzahl der Pixel in einer Reihe angegeben. Die Map wird immer quadratisch generiert.
Mit Pixel-Größe kann die Größe des Kästchens in Pixel eingestellt werden.
Mit Speed kann die Geschwindigkeit eingestellt werden. Die Zahl gibt die Zeit in Millisekunden an, die das Programm nach dem Einfärben wartet, bis es sich dem nächsten Kästchen zuwendet. Je kleiner die Zahl, desto schneller läuft das Programm.
Mir ist noch ein netter kleiner Bug aufgefallen, den ich aber nicht schlimm finde. Wenn man mehrmals auf „Start“ drückt, wird ein neuer Funktionsablauf gestartet. Dadurch läuft der Crawler schneller. Wenn ihr also sehr oft auf „Start“ klickt, geht der Crawler richtig ab.
Aber Vorsicht: Bei einer zu großen Geschwindigkeit kann das ganz schön rechenlastig werden. Ich habe Firefox einmal zum Abstürzen gebracht, weil ich es übertrieben hatte.
Falls jemand Interesse an dem PHP-Code oder Fragen hat, kann er mir gerne einen Kommentar hinterlassen.