Ich habe gestern abend meinem kleinen, bonbonbunten Aquarium noch ein Update spendiert. Zum ersten hatte es mich gestört, daß zu Beginn der Simulation alle Fische in die gleiche Richtung, nämlich nach rechts, schwammen. Das wirkte wenig realistisch und daher habe ich es mit folgender Änderung im Konstruktor der Klasse Fish
behoben:
self.speed = randint(-3, 3) if self.speed < 0: self.setHorzMirror(True) elif self.speed == 0: self.speed = randint(1, 3)
Da die Anfangsgeschwindigkeit nun zwischen -3
und 3
liegt, schwimmen die Fische von Anfang an in beide Richtungen. Leider schwimmen einige dann gar nicht, weil der Gott des Zufalls ihnen eine Anfangsgeschwindigkeit von 0
zugewiesen hat. Damit sie sich doch vorwärtsbewegen, bekommen sie in einer Spezialbehandlung eine Anfangsgeschwindigkeit zwischen 1
und 3
verpaßt. Diese ist auf jeden Fall größer als Null. 🤓
Zm zweiten störte mich, daß alle Fische die ihnen zu Anfang zugeteilte Geschwindigkeit stur beibehielten. Sie hatten dadurch auch immer die gleichen horizontalen Abstände voneinander. Nie wurde ein Fisch von einem anderen überholt, das war auf Dauer langweilig. Daher habe ich dies in der Methode act()
geändert:
if self.getX() > 600: self.setHorzMirror(True) self.speed = -randint(1, 3) if self.getX() < 40: self.setHorzMirror(False) self.speed = randint(1, 3)
Damit bekommen die Aquariumsbewohner bei jedem Richtungswechsel eine neue Geschwindigkeit zugewiesen. Schon ist der Anblick bedeutend realistischer und das Zuschauen bei der Simulation hat beinahe die gleiche kontemplative Wirkung wie bei einem echten Aquarium.
Den geänderten Quellcode findet Ihr natürlich in meinem Gitlab-Repositorium zu TigerJython. Und das kleine Video habe ich mit Screenity erstellt. Es war mein erster Versuch mit dieser Recording-Software und es ging einfacher als gedacht.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung
Diese Spalte wurde absichtlich leergelassen!