Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss19:code

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
ss19:code [2019/08/22 22:02]
leanderh
ss19:code [2019/09/06 16:36] (aktuell)
leanderh
Zeile 1: Zeile 1:
 ====Code==== ====Code====
-Unser Code steht in 4 Versionen zur Verfügung: \\+Unser aktueller ​Code steht in 4 Versionen zur Verfügung: \\
 \\ \\
 1. {{:​ss19:​neuronal_infinity_map.zip|}} \\ 1. {{:​ss19:​neuronal_infinity_map.zip|}} \\
Zeile 13: Zeile 13:
 4.{{:​ss19:​polynome_map_limits.zip|}} ​ \\ 4.{{:​ss19:​polynome_map_limits.zip|}} ​ \\
 Das Verhalten der Kreaturen dieser Version geschieht auf Basis neuronaler Netze. Die Karte ist "​limitiert",​ d.h. wenn die Kreaturen die Mapgrenze überqueren,​ sterben sie. \\ Das Verhalten der Kreaturen dieser Version geschieht auf Basis neuronaler Netze. Die Karte ist "​limitiert",​ d.h. wenn die Kreaturen die Mapgrenze überqueren,​ sterben sie. \\
 +\\
 +Einige Ältere Versionen des Codes sowie einige alternative Ansätze findet man hier: [[Ältere Versionen des Codes]].\\
 \\ \\
 Alle vier Versionen bestehen aus den Dateien map, player und constants. Bei den Versionen auf Basis neuronaler Netze gibt es zudem noch die Datei neuronal, die eben dieses Netz aufbaut. \\ Alle vier Versionen bestehen aus den Dateien map, player und constants. Bei den Versionen auf Basis neuronaler Netze gibt es zudem noch die Datei neuronal, die eben dieses Netz aufbaut. \\
 Für alle Versionen werden einige Pakete benötigt. Das Paket Pygame sorgt für die graphische Darstellung der Kreaturen und des Futters. Mit matplotlib.pyplot werden die Statistiken erstellt. Die Pakete math und random sind für die zufälligen Komponenten und einige Berechnungen. Mit copy werden die Kreaturen kopiert. Und numpy wird für das neuronale Netz benötigt. \\ Für alle Versionen werden einige Pakete benötigt. Das Paket Pygame sorgt für die graphische Darstellung der Kreaturen und des Futters. Mit matplotlib.pyplot werden die Statistiken erstellt. Die Pakete math und random sind für die zufälligen Komponenten und einige Berechnungen. Mit copy werden die Kreaturen kopiert. Und numpy wird für das neuronale Netz benötigt. \\
-In constants sind alle wichtigen Konstanten für die Map und die Player enthalten. Alle Konstanten daraus sind GROSSGESCHRIEBEN,​ daran kann man sie erkennen. Alle GROSSGESCHRIEBENEN Konstanten sind also in constants enthalten und erklärt.\\ +Die Datei Player wird im Verlauf des Textes erklärt, der Anfang dieser Erläuterung ist durch das fettgeschriebene Wort **Player** gekennzeichnet.\\ 
-Das Kernstück des Programms ist die Map. Wir teilen diese in verschiedene gleichartige Chunks auf, um die Rechenzeit zu minimieren. Jeder Chunk hat dabei seine Position (x und y Koordinaten der linken unteren Ecke), seine Länge und Höhe, welche in der Regel den gleichen Wert haben und die anfängliche Wahrscheinlichkeit,​ das Futter erscheint, Fooddensity genannt. Zudem gibt es die Möglichkeit,​ die Chunks zu benennen und sie sich überlappen zu lassen. Desweitern ist in jedem Chunk noch eine Liste mit den im Chunk vorhandenen Futter angelegt.+In **constants** sind alle wichtigen Konstanten für die Map und die Player enthalten. Alle Konstanten daraus sind GROSSGESCHRIEBEN,​ daran kann man sie erkennen. Alle GROSSGESCHRIEBENEN Konstanten sind also in constants enthalten und erklärt.\\ 
 +Das Kernstück des Programms ist die **Map**. Wir teilen diese in verschiedene gleichartige Chunks auf, um die Rechenzeit zu minimieren. Jeder Chunk hat dabei seine Position (x und y Koordinaten der linken unteren Ecke), seine Länge und Höhe, welche in der Regel den gleichen Wert haben und die anfängliche Wahrscheinlichkeit,​ das Futter erscheint, Fooddensity genannt. Zudem gibt es die Möglichkeit,​ die Chunks zu benennen und sie sich überlappen zu lassen. Desweitern ist in jedem Chunk noch eine Liste mit den im Chunk vorhandenen Futter angelegt.
 Vergleiche hier die Initialisierungsfunktion der Chunks: Vergleiche hier die Initialisierungsfunktion der Chunks:
 <​code>​ <​code>​
Zeile 545: Zeile 548:
 a+=1 a+=1
 </​code>​\\ </​code>​\\
-\\ +**player**\\ 
-Die Kreaturen, auch Player genannt, haben eine Vielzahl von Eigenschaften,​ die auch von der Version des Codes abhängt. Die wichtigsten sind sicher der Status (am Leben oder nicht), die Position (x und y), die Größe (angegeben als eine halbe Seitenlänge),​ die Sichtweite (sight), die Geschwindigkeit (Speed), die Ausdauer (Stamina) und der Winkel (angle). Darüber hinaus gibt es aber noch weitere Eigenschaften. Betrachte dafür die Initialisierungsfunktion für Spieler mit neuronalem Netz:+Die Kreaturen, auch **Player** genannt, haben eine Vielzahl von Eigenschaften,​ die auch von der Version des Codes abhängt. Die wichtigsten sind sicher der Status (am Leben oder nicht), die Position (x und y), die Größe (angegeben als eine halbe Seitenlänge),​ die Sichtweite (sight), die Geschwindigkeit (Speed), die Ausdauer (Stamina) und der Winkel (angle). Darüber hinaus gibt es aber noch weitere Eigenschaften. Betrachte dafür die Initialisierungsfunktion für Spieler mit neuronalem Netz:
 <​code>​ <​code>​
 #​Initialisiert den Spieler #​Initialisiert den Spieler
Zeile 896: Zeile 899:
  
  
-[[Ältere Versione]]+
ss19/code.1566504126.txt.gz · Zuletzt geändert: 2019/08/22 22:02 von leanderh