Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1718:projektplanung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1718:projektplanung [2018/04/04 12:38]
daphna_99 [Klassen]
ws1718:projektplanung [2018/04/05 12:08] (aktuell)
daphna_99 [Hilfsmittel]
Zeile 18: Zeile 18:
 Vielmehr setzten wir uns dann wöchentliche Ziele, die wir abarbeiteten. Die wichtigsten Punkte sind dabei folgende gewesen: ​ 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   * Anfang des Hauptcodes CreatureR: Klasse für die Entstehung der Kreaturen, deren Fortbewegung und deren Bewertung
-  * Anfänge mit pygame ​-> Umfeld erschaffen ​+  * Anfänge mit PyGame ​-> Umfeld erschaffen ​
   * Vererbung durch Selektierung   * Vererbung durch Selektierung
   * Neustrukturierung des Hauptcodes Creature und Anpassung an den Visualiserungscode pygame   * Neustrukturierung des Hauptcodes Creature und Anpassung an den Visualiserungscode pygame
   * Design ​   * Design ​
   * mehrere Kreaturen gleichzeitig visualisieren und vererben lassen ​   * mehrere Kreaturen gleichzeitig visualisieren und vererben lassen ​
-  * unterschiedliche ​Spezien ​erzeugen und Visualisieren+  * unterschiedliche ​Spezies ​erzeugen und visualisieren
  
 +==== Hilfsmittel ====
 +  * vorgegebenes Lehrmaterial für die Programmiersprache Python ​
 +  * [[https://​www.youtube.com/​channel/​UCNaPQ5uLX5iIEHUCLmfAgKg|KidsCanCode YouTube-Channel]] für die  Visualisierung mit PyGame
 +  * [[https://​www.pygame.org/​docs/​|Pygame Dokumentation]] für die Visualisierung mit PyGame
 +  * 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
  
-=====Das ist Doof(Pygame)===== +==== voraussichtliche Bestandteile des Projekts ​==== 
-PyGame bot uns im Gegensatz zu Turtle wesentlich umfangreichere Visualisierungsmöglichkeiten für unser Projekt. Einer der wichtigsten Vorteile dieses Pakets war dabei, dass wir damit in der Lage dazu waren, mehrere Kreaturen gleichzeitig auf dem Bildschirm erscheinen zu lassen. Mit Turtle konnte man Maximal eine Kreatur beobachten und so zwar den Hauptcode ​verbessern, aber nicht das volle Ausmaß dessen graphisch darstellen +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.\\ 
-Wie der Name schon sagt ist PyGame an sich für Videospiee mit Python entwickelt worden ​und ist leider entsprechend nicht besonders gut dokumentiertDie beste Dokumentation,​ die wir gefunden hatten waren die Tutorials von KidsCanCode auf YouTube.\\ +
-Das grundsätzliche Konzept eines jeden Spiels also auch eines Spiels, das man mit Pyhtn programmiert ist die sogenannte Game Loop. Diese sorgt dafür, dass das Spiel angezeigt wird und sich je nach bestimmten Inputs etwas auf dem Bildschirm verändert. \\ +
-Auf dem Folgenden Bild erkennt man die Bestandteile eines Game Loops, in die der Sceleton eines PyGame Projekts auch im Groben unterteilt.\newline+
  
-Der Processing Input ist alles, was extern vom Code selbst eingegeben wird. Dazu gehören z.B. Interaktionen mit der Maus oder den Tasten auf dem Keyboard. Auch so etwas wie ein „x“ am oberen Fensterrrand zum Schließen des Programms muss in diesen Bereich des Codes eingebaut werden.\\ +Der **Hauptcode** unterteilt sich vor Allem in: 
-In der Update Section werden in jedem Frame die neuen Daten verarbeitet, ​die sich seit dem letzten Frame verändert haben, in unserem Fall also jegliche Fortbewegungne er Kreaturen.\newline+  ​* ​die Creature-Klasse 
 +  * die Coord-Klasse  
 +  * diverse Funktionen zur Umsetzung des Ratings\
  
-Die Render Section kann man auch als rawing section bezeichen Sie lässt ​die daten, die beim Updaten sih verändert haben auf dem Bildschirm ​ausgeben. ​\newline+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\\
  
-Die Uhr am ende der gameloop soll symbolisieren,​ dass die Game loop sich in jedem Frame wiederholt und so eine Game Loop sich innerhalb von einer Sekunde z.B. 24 mal ( 24 fps = Anzahl an Frames für ein bewegtes Bild) oder auch 60 Mal (Frame rate moderner videospiele) wiederholen kann. Je nach dem wie gut der Prozessor des zum Ausführen verwendeten endgerätes ist, kann das Programm dann auch bei einer zu hohen Frame-Rate ruckeln oder hängen. \newline 
  
-Nach dieser etwas längeren Einführung nun zum eigentlichen Code. \newline 
  
-====PyGame Sceleton==== 
-Die Notwendigen Bestandteile eines PyGame Codes haben wir so gut wie eins zu eins aus dem „Sceleton Code“ von Kids Can Code (Github link) übernommen. Da dieser für jedes PyGame Projekt so gut wie gleich ist, werden wir ihn an dieser stelle nicht näher erklären, sondern auf das zugehörige Tutorial verweisen. \\ 
- 
-Nun aber wirklich zu **unserem** Code: 
  
  
ws1718/projektplanung.1522838298.txt.gz · Zuletzt geändert: 2018/04/04 12:38 von daphna_99