lehrkraefte:blc:informatik:ffprg1-2020:snake

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:ffprg1-2020:snake [2020/06/29 17:14]
Ivo Blöchliger
lehrkraefte:blc:informatik:ffprg1-2020:snake [2021/04/28 14:11]
Ivo Blöchliger [Snake]
Line 7: Line 7:
  
 === Spiel via Netzwerk === === Spiel via Netzwerk ===
-Lassen Sie Ihre Strategie via Netzwerk gegen eine andere spielen, indem Sie die ''NetworkStrategy'' einbauen (neu in obigem Archiv enthalten). Lassen Sie mir Ihre Strategie zukommen, ich werde diese einbauen, damit alle gegen diese spielen können.+Lassen Sie Ihre Strategie via Netzwerk gegen eine andere spielen, indem Sie die ''NetworkStrategy'' einbauen (neu in obigem Archiv enthalten). Lassen Sie mir Ihre Strategie zukommen, ich werde diese einbauen, damit alle gegen diese spielen können. Der Server läuft allerdings nur auf Anfrage.
  
 === Anleitung === === Anleitung ===
Line 17: Line 17:
   * In game.py:   * In game.py:
     * Die eigene Strategie importieren (ganz oben im Code, analog zu ivo_simple_strategy.     * Die eigene Strategie importieren (ganz oben im Code, analog zu ivo_simple_strategy.
-    * Eigene Strategie ganz unten in game.py eintragen (min. ivo_simple_strategy ersetzen).+    * Eigene Strategie ganz unten in game.py eintragen (min. einmal ivo_simple_strategy ersetzen).
   * Code studieren, Fragen stellen.   * Code studieren, Fragen stellen.
  
Line 36: Line 36:
  
 Eine Strategie hat Zugriff auf folgende Informationen um den nächsten Schritt zu planen (d.h. welche der 4 Richtungen): Eine Strategie hat Zugriff auf folgende Informationen um den nächsten Schritt zu planen (d.h. welche der 4 Richtungen):
-  * self.params (Alle Informationen zum aktuellen Spielstand)+    self.params (Alle Informationen zum aktuellen Spielstand, mit den Feldern
         width (int): Breite des Spielfelds         width (int): Breite des Spielfelds
         height (int): Hoehe des Spielfelds         height (int): Hoehe des Spielfelds
Line 54: Line 54:
  
 So liefert z.B. ''self.params.apple[0]'' die $x$-Koordinate des Apfels oder ''self.params.feld[3][7]'' den Inhalt vom Spielfeld an der Position (3,7), oder ''self.params.heads[0][0]'' und ''self.params.heads[0][0]'' die $x$- und $y$-Koordinaten einer Schlange (eine gegnerische oder die eigene). So liefert z.B. ''self.params.apple[0]'' die $x$-Koordinate des Apfels oder ''self.params.feld[3][7]'' den Inhalt vom Spielfeld an der Position (3,7), oder ''self.params.heads[0][0]'' und ''self.params.heads[0][0]'' die $x$- und $y$-Koordinaten einer Schlange (eine gegnerische oder die eigene).
 +
 +Erklärungen: 
 +  * ''int'' bedeutet, dass eine ganze Zahl enthalten ist.
 +  * ''int[4]'' bedeutet ein Array mit 4 Elementen, die Ganzzahlen sind.
 +  * ''int[width][height] bedeutet ein zweidimensionales Array der Grösse width x height, das Ganzzahlen als Element enthält
 +  * ''bool'' ist entweder True oder False.
 +
  
  
  • lehrkraefte/blc/informatik/ffprg1-2020/snake.txt
  • Last modified: 2021/04/28 14:11
  • by Ivo Blöchliger