#Listing 1: Klasse «Position()». class Position: ### Verwaltet eine Position durch ### die Kontrolle der Aenderungen def __init__(self,maxzeile,maxspalte): self.maxzeile = maxzeile self.maxspalte = maxspalte self.zeile = 0 self.spalte = 0 def setZeile(self, zeile): if zeile < 0: self.zeile = 0 elif zeile >= self.maxzeile: self.zeile = -1 else: self.zeile = zeile def setSpalte(self, spalte): if spalte < 0: self.spalte = 0 elif spalte >= self.maxspalte: self.spalte = -1 else: self.spalte = spalte def getZeile(self): return self.zeile def getSpalte(self): return self.spalte def ende(self): return self.zeile == -1 and self.spalte == -1 def reset(self): self.zeile = 0 self.spalte = 0 def naechste(self): # Erhoeht die Position und achtet darauf, # dass sie nicht über das Feld hinausgeht. if not self.ende(): self.spalte += 1 if self.spalte == self.maxspalte: self.spalte = 0 self.zeile +=1 if self.zeile == self.maxzeile: self.zeile = -1 self.spalte = -1 def getPos(self): return [self.zeile, self.spalte]