TJSnake
|
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 |
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.
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.
def game.Game.copyParams | ( | self, | |
quick = True |
|||
) |
Kopiert alle Parameter in die noch lebenden Strategien
def game.Game.emptyPlace | ( | self | ) |
Liefert ein zufaelliges leeres Feld (fuer die Platzierung des Apfels)
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.
def game.Game.placeApple | ( | self | ) |
Platziert den Apfel 20 mal zufaellig und nimmt die Position mit groesster minimaler Distanz zum naechsten Schlangekopf
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
def game.Game.step | ( | self | ) |
Fuehrt eine Spielzug aus.
def game.Game.updateBoard | ( | self, | |
x, | |||
y, | |||
what, | |||
vanish | |||
) |
Update des felds x,y auf what. Effiziente Grafik und effizientes update der Strategien