Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1718:visualisierungscode [2018/04/18 18:49] lenarost [Klassen] |
ws1718:visualisierungscode [2018/04/18 18:53] (aktuell) lenarost [Game loop] |
||
---|---|---|---|
Zeile 153: | Zeile 153: | ||
====Funktionen...==== | ====Funktionen...==== | ||
===...zum Erstellen der restlichen Objekte === | ===...zum Erstellen der restlichen Objekte === | ||
- | Wolke, Plattformen und Tropfen werden alle gleich erstellt. Jedes Objekt wird durch **Aufrufen der Klasse** und **Angabe der Koordinaten** erstellt. Daraufhin wird es zunächst der allgemeinen **Sprite_Gruppe** und der **Hinderniss-Gruppe** zu geordnet. | + | Wolke, Plattformen und Tropfen werden alle gleich erstellt. Jedes Objekt wird durch **Aufrufen der Klasse** und **Angabe der Koordinaten** erstellt. Daraufhin wird es zunächst der allgemeinen **Sprite_Gruppe** und der **Hinderniss-Gruppe** zugeordnet. |
===...für die Kreaturen=== | ===...für die Kreaturen=== | ||
Zeile 165: | Zeile 165: | ||
Beide Counter werden im laufendem Programm am rechten Bildrand angezeigt. Somit kann man mit den fortschreitenden Generationen, die **Entwicklung unserer Evolution** erkennen. \\ | Beide Counter werden im laufendem Programm am rechten Bildrand angezeigt. Somit kann man mit den fortschreitenden Generationen, die **Entwicklung unserer Evolution** erkennen. \\ | ||
- | Um nun eine neue Generation zu erstellen, nutzen wir zunächst die angekündigte ''.sort()''-Funktion. Durch sortieren der **creatures-Liste**, wird uns eine absteigende Reihenfolge der **Ratings** der Kreaturen ausgegeben. \\ | + | Um nun eine neue Generation zuerstellen, nutzen wir zunächst die angekündigte ''.sort()''-Funktion. Durch sortieren der **creatures-Liste**, wird uns eine absteigende Reihenfolge der **Ratings** der Kreaturen ausgegeben. \\ |
- | Für die neu erstellte Liste nutzen wir eine erste Schleife mit dem ''enumerate''-Befehl. Mit ihm gelingt es uns sowohl durch den **Index i**, als auch durch das **Element c** von ''creatures'' geteilt durch n zu gehen. **n** beschreibt hier den Selektionsdruck und legt somit fest, wie viele Kreaturen vererben dürfen.\\ | + | Für die neu erstellte Liste nutzen wir eine erste Schleife mit dem ''enumerate''-Befehl. Mit ihm gelingt es uns sowohl durch den **Index i**, als auch durch das **Element c** von ''creatures'' geteilt durch n zugehen. **n** beschreibt hier den Selektionsdruck und legt somit fest, wie viele Kreaturen vererben dürfen.\\ |
In der **ersten Schleife** speichern wir unter der Variable ''spec'' die jeweilige Spezie jedes Elementes der Liste. \\ | In der **ersten Schleife** speichern wir unter der Variable ''spec'' die jeweilige Spezie jedes Elementes der Liste. \\ | ||
Es folgt eine **zweite Schleife**, die durch eine von **n-anhängige Liste**geht. Dabei wird für jedes n-tel eine neue Kreatur **abhängig der vererbten Eigenschaften** erstellt ( ''cr.procreation(c.c1)''). Anschließend wird mit der ''appendWay()''- Funktion für die neue Kreatur ein neuer Weg erstellt (abnhängig von den vererbten Eigenschaften). Zu guter Letzt wird jeder neu erstellten Kratur ihre **alte Spezie** durch die Variable ''spec'' zugeordnet und ein **dazu passendes Bild**. \\ | Es folgt eine **zweite Schleife**, die durch eine von **n-anhängige Liste**geht. Dabei wird für jedes n-tel eine neue Kreatur **abhängig der vererbten Eigenschaften** erstellt ( ''cr.procreation(c.c1)''). Anschließend wird mit der ''appendWay()''- Funktion für die neue Kreatur ein neuer Weg erstellt (abnhängig von den vererbten Eigenschaften). Zu guter Letzt wird jeder neu erstellten Kratur ihre **alte Spezie** durch die Variable ''spec'' zugeordnet und ein **dazu passendes Bild**. \\ | ||
Zeile 304: | Zeile 304: | ||
Wir rufen zunächst die Kollisionsfunktion ''bubbly()'' auf. | Wir rufen zunächst die Kollisionsfunktion ''bubbly()'' auf. | ||
- | Anschließend überprüfen wir mit einer for-Schleife durch die creatures-list, ob alle Kreaturen tot sind. Sollte dies der Fall sein, erstellen wir eine neue Generation mit der ''newGen()''-Funktion. Zusätzlich rufen wir an dieser Stelle ''stats()'' ab, um die Spezienanzahl der neuen Generation zu zählen. \\ | + | Anschließend überprüfen wir mit einer for-Schleife durch die creatures-list, ob alle Kreaturen tot sind. Sollte dies der Fall sein, erstellen wir eine neue Generation mit der ''newGen()''-Funktion. Zusätzlich rufen wir an dieser Stelle ''stats()'' ab, um die Spezienanzahl der neuen Generation zuzählen. \\ |
<code python> | <code python> | ||