TJSnake
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
game.Game Class Reference

Public Member Functions

def __init__ (self, board, strategyClasses, graphics=False)
 
def __str__ (self)
 
def copyParams (self, quick=True)
 
def updateBoard (self, x, y, what, vanish)
 
def emptyPlace (self)
 
def minDist (self, p)
 
def placeApple (self)
 
def step (self)
 
def run (self, delaySeconds=0)
 

Public Attributes

 graphics
 
 strategies
 
 params
 
 positions
 
 oldpositions
 
 dirs
 
 olddirs
 
 width
 
 height
 
 feld
 
 vanish
 
 time
 
 n
 
 alive
 
 lengths
 
 points
 
 appletime
 
 changed
 
 timeConsumed
 
 apple
 

Static Public Attributes

int APPLEPOINTS = 100
 
int APPLELENGTH = 10
 
int APPLETIME = 400
 

Detailed Description

Verwaltet die Strategieen und koordiniert das Spiel

Attributes:
    strategies: Array mit Strategy-Instanzen
    params: Array mit Params-Instanzen (1 pro Spieler)
    positions: Array mit Positionen der Schlangenkoepfe
    feld: Aktuelles Feld
    time (int): Zeit (in Spielschritten)
    vanish: Array mit Zeitpunkten, wann der Feldeintrag geloescht werden soll.
    lengths: Laenge der Schlangen
    changed: (int[][2]) Array mit Positionen, die sich geaendert haben.
    appletime: (int): Zeitpunkt, zu dem alle Schlangen wegen verfaultem Apfel sterben.

Constructor & Destructor Documentation

◆ __init__()

def game.Game.__init__ (   self,
  board,
  strategyClasses,
  graphics = False 
)
Args:
    board (Board): Spielfeld, auf dem gespielt werden soll
    strategyClass (Array of Strategy): 1-4 Strategien, die gegeneinander antreten sollen
    graphics (bool): Ob ein Grafikfenster geoeffnet werden soll.

Member Function Documentation

◆ copyParams()

def game.Game.copyParams (   self,
  quick = True 
)
Kopiert alle Parameter in die noch lebenden Strategien

◆ emptyPlace()

def game.Game.emptyPlace (   self)
Liefert ein zufaelliges leeres Feld (fuer die Platzierung des Apfels)

◆ minDist()

def game.Game.minDist (   self,
  p 
)
Liefert die kleinste Distanz (Manhatten-Metrik) zu einem Schlangenkopf. 
Damit wird der Apfel moeglichst nicht direkt vor einer Schlange platziert.

◆ placeApple()

def game.Game.placeApple (   self)
Platziert den Apfel 20 mal zufaellig und nimmt die Position mit 
groesster minimaler Distanz zum naechsten Schlangekopf

◆ run()

def game.Game.run (   self,
  delaySeconds = 0 
)
Laesst das Spiel laufen

Args:
    delaySeconds (float): Anzahl Sekunden, die zwischen zwei Spielschritten gewartet wird.
    
Returns:
    Array mit erreichten Punkten

◆ step()

def game.Game.step (   self)
Fuehrt eine Spielzug aus.

◆ updateBoard()

def game.Game.updateBoard (   self,
  x,
  y,
  what,
  vanish 
)
Update des felds x,y auf what. Effiziente Grafik und effizientes update der Strategien

The documentation for this class was generated from the following file: