lehrkraefte:blc:informatik:ffprg1-2020:funktionen-mit-klassen

This is an old revision of the document!


Methoden (Funktionen in Klassen)

Diese Aufgabe entspricht dieser Aufgabe im Kapitel Funktionen.

  • Schreiben Sie eine Klasse TicTacToe mit einem Konstruktor, der ein leeres 3×3-Feld anlegt:
class TicTacToe:
    def __init__(self):     # Konstruktor, wird beim Anlegen einer neuen Instanz aufgerufen.
        # Ein 3x3 Feld initialisieren
        self.feld = []  # TODO
 
t = TicTacToe()   # Neue Instanz
print(t)          # Noch nicht spannend...
  • Fügen Sie eine Methode str(self) hinzu, die einen String zurückgibt, die das aktuelle Spielfeld darstellt. Z.B. wenn feld=0,1,1], [2,1,2], [0,2,2 dann soll die Ausgabe wie folgt sein:
   | X |   
---+---+---
 O | O | X 
---+---+---
 O | X | X 

Damit kann das Feld einfach mit

print(t)

ausgegeben werden. Die Methode str wird automatisch aufgerufen, falls diese existiert. Genau genommen, wird sonst die str Methode der Grund-Klasse object aufgerufen, von der alle Klassen erben.

Bauen Sie die Klasse mit folgenden Methoden aus:

  • isEmpty(x,y): Liefert True, wenn das entsprechende Feld existiert und noch leer ist.
  • place(x,y,player): Platziert ein 'O' oder 'X', je nach Wert von player (1 oder 2).
  • winner(): Liefert 0, wenn niemand gewonnen hat, oder 1 oder 2, wenn der entsprechende Spieler gewonnen hat.
  • full(): Liefert True, wenn das Feld voll ist.
  • reset(): löscht das Spielfeld
  • lehrkraefte/blc/informatik/ffprg1-2020/funktionen-mit-klassen.1617779913.txt.gz
  • Last modified: 2021/04/07 09:18
  • by Ivo Blöchliger