Erste Ziele
Zunächst haben wir uns Gedanken über die Schwerpunkte unseres Projektes gemacht. Dazu kamen wir auf folgende Bereiche:
Spezien: Die Spezien sind der Kern unserer Evolution und benötigen unbedingt sinnvolle Attribute und Funktionen. Wir werden sie als Klasse realisieren.
Umfeld: Eine Spezies ohne Aufgabe entwickelt sich nicht. Aus diesem Grund muss in die zu bewältigende Aufgabe bzw. in das Umfeld, in dem sich die Spezies aufhält, genauso viel Gedanken hinein gesteckt werden. Nur eine sinnvolle Aufgabe gibt interessante Ergebnisse.
Vererbung: Vererbung bedeutet, dass unsere Spezien nicht nur lebendig sind, sondern auch nutzbare Informationen beeinhalten, die einer weiteren Generation übergeben werden können. Dabei ist Mutation für Veränderungen ebenfalls wichtig, was alles in allem eine genaue Überlegung benötigt. Schlussendlich braucht man kluge Faktoren für eine Selektion, um die für uns Besten herauszusuchen. Hier bietet sich etwas wie ein Ranking an.
Visualisierung: Für ein zufriedenes, anschauliches Ergebnis ist es wichtig, die jeweiligen Generationen zu visualisieren, um deren Fortschritt bewundern zu können. Eng dazu angeschlossen sind die Spezien, wo bereits bei deren Attribut-Überlegung ein Nutzen für Visualität da sein muss.
Eine erste Überlegung befindet sich auf unserem Konzeptblatt.
Zeitplan/Zwischenziele
Gemiensam mit unserem Konzeptblatt erstellten wir auch einen Zeitplan.
Um ehrlich zu sein umfasste dieser nicht viel. Und mit nicht viel meinen wir konkret nur zwei Daten.
Wir hatten uns vorgenommen am 25.01.2018 mit dem Hauptcode CreatureR fertig zu sein und am 15.02.2018 mit der Visualisierung.
Schnell merkten wir , dass der Visualisierungscode notwendig zum Weiterkommen mit dem Hauptcode wurde. Weshalb wir eigentlich diesen Zeitplan überhaupt nicht mehr beachteten und permanent parallel an beiden Codes arbeiteten.
Vielmehr setzten wir uns dann wöchentliche Ziele, die wir abarbeiteten. Die wichtigsten Punkte sind dabei folgende gewesen:
Anfang des Hauptcodes CreatureR: Klasse für die Entstehung der Kreaturen, deren Fortbewegung und deren Bewertung
Anfänge mit PyGame → Umfeld erschaffen
Vererbung durch Selektierung
Neustrukturierung des Hauptcodes Creature und Anpassung an den Visualiserungscode pygame
Design
mehrere Kreaturen gleichzeitig visualisieren und vererben lassen
unterschiedliche Spezies erzeugen und visualisieren
Hilfsmittel
vorgegebenes Lehrmaterial für die Programmiersprache Python
-
-
Stack Overflow bei Fragen zur Programmierung
GIMP zum Freistellen der Bilder
Aufgabenverteilung
Lorenz: Programmierung am Hauptcode
Lena: Visualisierung mit PyGame
Daphna: Visualisierung mit PyGame und Illustration
voraussichtliche Bestandteile des Projekts
Unser Projekt setzt sich aus dem Hauptcode „CreatureR.py“ bzw. der neuen Version „creatureV2.py“ und dem Visulaisierungscode „pygamevisualisierung.py“ (neue Version: pygamevisuV2.py) zusammen. Außerhalb der Programmierung spielt auch die Illustration eine Rolle.
Der Hauptcode unterteilt sich vor Allem in:
Der Visualisierungscode besteht aus:
der CREA-Klasse für die Kreaturen
den DROP-,CLOUD- und STAFI-Klassen für die Hindernisse und Plattformen
den bubbly()-, newGen()-, stats()-Funktionen für die Umsetzung der Selektion
den draw()-Funktionen zur Ausgabe von Text auf dem Bildschirm