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/06/15 13:49]
Ivo Blöchliger [Snake]
lehrkraefte:blc:informatik:ffprg1-2020:snake [2020/06/29 17:14]
Ivo Blöchliger
Line 7: Line 7:
  
 === Spiel via Netzwerk === === Spiel via Netzwerk ===
-Lassen Sie Ihre Strategie via Netzwerk gegen eine andere spielen, indem Sie folgende Strategie einbauen: {{ :lehrkraefte:blc:informatik:ffprg1-2020:network_strategy.py |NetzwerkStrategie}}. 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.
  
 === Anleitung === === Anleitung ===
Line 55: 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