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
Next revision Both sides next revision
lehrkraefte:blc:informatik:ffprg1-2020:snake [2020/05/04 17:09]
Ivo Blöchliger [Snake]
lehrkraefte:blc:informatik:ffprg1-2020:snake [2020/06/29 17:14]
Ivo Blöchliger
Line 5: Line 5:
  
 {{ :lehrkraefte:blc:informatik:ffprg1-2020:tjsnake.zip |Source-Code}} {{ :lehrkraefte:blc:informatik:ffprg1-2020:tjsnake.zip |Source-Code}}
 +
 +=== 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.
  
 === Anleitung === === Anleitung ===
Line 17: Line 20:
   * Code studieren, Fragen stellen.   * Code studieren, Fragen stellen.
  
 +=== Video-Anleitung ===
 +  * https://fginfo.ksbg.ch/~ivo/videos/tjsnake.mp4
  
 === Dokumentation === === Dokumentation ===
Line 50: Line 55:
 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).
  
 +
 +===== Breitensuche zur Distanzberechnung (im Grid) =====
 +Pseudo-Code (kann so nicht direkt in Python ausgeführt werden).
 +<code python>
 +dist[x][y] auf -1 initialisieren
 +
 +dist[startpunkt] = 0
 +todo = [startpunkt]
 +
 +while (len(todo)>0):
 +    aktuell = todo.pop(0) # Vorne entfernen
 +    for nachbar in nachbarn(aktuell):
 +        if dist[nachbar]==-1: # Noch offen?
 +            dist[nachbar] = dist[aktuell]+1
 +            todo.append(nachbar)
 +return dist
 +</code>
  
  
  • lehrkraefte/blc/informatik/ffprg1-2020/snake.txt
  • Last modified: 2021/04/28 14:11
  • by Ivo Blöchliger