Skip to content

Instantly share code, notes, and snippets.

@timkaechele
Last active August 29, 2015 14:13
Show Gist options
  • Save timkaechele/39dfa7f35d53ed543827 to your computer and use it in GitHub Desktop.
Save timkaechele/39dfa7f35d53ed543827 to your computer and use it in GitHub Desktop.

Pflichtprogrammieraufgabe

TicTacToe UML

Model

Das Model beinhaltet die gesamte Logik. Das Model verwaltet das TicTacToe Spiel, weiß wer gerade an der Reihe ist, wie das Spielfeld aussieht, wer gewinnt und was ein korrekter Spielzug ist.

TicTacToe

Die TicTacToe-Methode initialisiert ein neues Objekt vom Typ TicTacToe. Sie sollte den Anfangszustand des Objektes genau definieren. (leeres Spielfeld, den aktuellen Spieler etc)

getSpielfeld

Die getSpielfeld-Methode gibt das aktuelle Spielfeld zurück.

getAktuellerSpieler

Die getAktuellerSpieler-Methode gibt den aktuellen Spieler zurück.

getGewinner

Die getGewinner-Methode gibt den Gewinner des Spiels zurück. Sollte es noch keinen Gewinner geben, sollte die Methode einen geeigneten Rückgabewert haben.

macheSpielzug

Die macheSpielzug-Methode nimmt die Koordinaten eines Spielzugs entgegen und führt den Spielzug aus, danach sollte der andere Spieler am Zug sein. Sollte der Spielzug falsch sein, soll die Methode false zurückgeben und nichts machen.

Controller

Der Controller ist für den eigentlichen Spielablauf zuständig, er ruft Methoden des Models und des Views auf und dient praktisch als ein Bindeglied zwischen den beiden.

TicTacToeController

Die TicTacToeController-Methode initialisiert ein neues Objekt vom Typ TicTacToeController.

spieleSpiel

Die spieleSpiel-Methode spielt eine einzelne Runde TicTacToe. (Begrüßung, solange spielen bis es einen Gewinner gibt, Gewinner ausgeben) Aktivitätsdiagramm

View

Der View ist dafür verantwortlich, dass das Spiel ordentlich ausgegeben wird. Der View sollte keine »Logik« enthalten, dass bedeutet: man würde bspw. nicht in der getSpielzug-Methode kontrollieren ob der Spielzug korrekt ist, stattdessen würde man solche Frage dem Model überlassen. So kann sich der View vollständig um die Benutzeroberfläche kümmern.

TicTacToeView

Die TicTacToeView-Methode initialisiert ein neus Objekt vom Typ TicTacToeView.

zeigeSpielfeld

Die zeigeSpielfeld-Methode zeigt das Spielfeld an bspw. so:

   | X |
-----------
 O | X |
-----------
 O |   |

zeigeBegruessung

Begrüßt die Spieler und gibt gegebenenfalls die Regeln des Spiels aus.

zeigeFehlermeldung

Zeigt eine Fehlermeldung an, die den Spieler darauf hinweist, dass irgendetwas nicht so ganz funktioniert hat.

zeigeGewinner

Gibt den Gewinner des Spiels aus.

getSpielzug

Fordert den aktuellen Spieler dazu auf einen Spielzug einzugeben.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment