User Stories zu TicTacToe (Server + manueller Spieler)
1. Tic-Tac-Toe soll verteilt implementiert werden. Es gibt einen Server und mehrere manuelle Spieler (Clients)
2. Schwarz (X) fängt immer das Spiel an
- Wie soll die Zuweisung von Schwarz/Weiss erfolgen? Zufällig? Chronologisch?
- Momentan egal. Wird wichtig, wenn wir Turnierregeln einführen.
3. In der Loginphase nimmt der Server Spieler an
4. In der Spielphase startet der Server einen Thread pro Spiel
- Sollte es mehr als ein Spiel geben?
- Nein. In diesem Praktikum konzentrieren wir uns auf die automatischen Spieler. Ohne Turnierregeln ist das tatsächlich langweilig: Momentan ist nur jeweils ein Spiel gefordert. Wer vorausarbeiten will, kann die angemeldeten Spieler paarweise zueinander zuordnen. Die Spiele finden dabei (pro Runde) gleichzeitig statt.
- Erweiterungen für mehr menschlichen Komfort kommen noch (Lobby, kontinuierliches Anmelden).
5. Ein manueller Spieler wird über die Konsole bedient
- GUI kommt noch.
- Falsche Eingaben des Benutzers werden vom manuellen Spieler abgefangen.
6. Es wird das standardisierte PlayerInterface-Protokoll verwendet
- Was passiert wenn der Client komplett falsche (unparsbare) Daten zurückliefert?
- Das ist ein Protokollfehler. Das Spiel wird sofort beendet. Derjenige der Spieler, der den Fehler gemacht hat, hat das Spiel verloren.
- Was passiert bei fehlerhaften Zügen, Timeout, Disconnects?
- Das sind, wie im vorhergehenden Eintrag, Protokollfehler.
- Soll der Server während der Spielphase weiterhin Spieler annehmen?
- Es soll niemand neues zugelassen werden, aber es dürfen Spieler wieder online gehen, die zwischendurch offline waren (wegen eines Crashs o.ä.).
- Nach beendetem Spiel: disconnecten beide Clients oder können sie gleich ein weiteres Spiel beginnen?
- Sie stehen für beliebig viele Spiele zur Verfügung (momentan noch nicht so wichtig, aber bei Reversi wird es Turniere geben). Bei Reversi: Am Ende eines Turnieres disconnectet der Server alle Clients.
History
- 2006-11-28: Klarstellung bei (4).