---
# System prepended metadata

title: 1. TicTacToe
tags: [Praktikum]

---

###### tags: `Praktikum`
# 1. TicTacToe


Wenn im Folgenden von "Zeichen" geredet wird, wird ein Fall besprochen, der sowohl für "X" (Spieler 1), als auch für "O" (Spieler 2) gilt.
Außerdem bedeutet im Folgenden "Rechts-Diagonale", dass es eine Reihe von 3 Zeichen ist, die von unten links nach oben rechts verläuft. Das obere Ende ist also rechts. Entsprechend für "Links-Diagonale"

### Feld-Fehler
1. Symbol überschreibar
    - Es ist möglich, das Symbol des anderen Spieler mit seinem Symbol zu überschreiben

2. falsche Feldfunktion (Isabelle)
    - Das Feld unten rechts wird nicht besetzt, wenn man es anklickt, sondern das Feld daneben. Dabei ist es nicht relevant, welcher Spieler gerade an der Reihe ist.

3. Sequentielle Zeichenvergabe (Christopher)
    - Alle 20 Züge wird das Zeichen des aktiven Spielers nach oben links gesetzt. Die Zählung der Züge geschieht dabei über Spiele hinweg

### Siegauswertung
4. Problematik mit Letzte Spalte -> Relevanz Senkrecht (Dennis)
    - In der Spalte ganz rechts kann man nicht gewinnen, wenn man seine Zeichen von ganz oben rechts senkrecht nach unten anordnet.

5. Problematik mit Letzter Spalte -> Relevanz diagonal (Steffen)
    - Wenn man diagonal von links unten nach rechts oben 3 gleiche Zeichen anordnet wobei das Zeichen rechts dann in der letzten Spalte ist, dann hat man nicht gewonnen

6. Senkrechte Zeichenberücksichtigung (Isabelle)
    - Drei Zeichen senkrecht in einer Spalte mit einer Lücke führen dennoch zu einem Sieg. Dabei ist es egal, wo die Lücke ist oder von einem anderen Symbol unterbrochen ist.

7. "V"-Sieg (Dennis)
    - Man kann gewinnen, wenn 3 Zeichen in einer horizontalen Reihe sind, wobei das mittlere Zeichen eine Reihe darunter positioniert ist. Die drei zum Sieg führenden Zeichen sind also wie ein "V" angeordnet.

8. "L"-Sieg (Christopher)
    - Man kann gewinnen, wenn die Zeichen in einem "L" angeordnet sind. Also ein Zeichen unter dem anderen setzten und dann das nächste Zeichen rechts neben dem unteren Zeichen. Gedrehte L's funktionieren nicht.

### Siegesberechnung
9. Punktzahl Spieler 1 nach Formel (Steffen)
    - Nach einem Sieg wird die Punktzahl des Spieler 1 wird nach einer anderen Formel 
    (hier Neue Punktzahl = Vorherige Punktzahl * 4 + 4) berechnet wie von Spieler 2 

10. Punktzahl Spieler 2 heruntergezählt (Christopher)
    - Nach einem Sieg wird die Punktzahl des Spieler 2 wird heruntergezählt 

### Symboleinstellungen

11. Schreibfehler (Isabelle)
    - Beim Umstellen des Symbols, steht bei beiden Dropdownmenüs "Player 1 Icon"

12. Symbolauswahlprüfung fehlt (Christopher)
    - Man kann für beide Spieler dasselbe Symbol einstellen., welches aber dennoch unterschiedlich im Spiel gedeutet werden.

13. Symbol-Rückstellung auf "O" (Dennis)
    - Ein Spieler kann nicht wieder zurück auf "O" eingestellt werden, dann ist "TeSSA Red" aktiv -> Außnahme: beide Spieler werden auf "O" eingestellt
>[Dennis]: Muss nochmal angeschaut werden, da auf einmal Spieler 1 wieder "TeSSA Red" aktiv hatte
>22.10.: neue Erkenntnis, scheint nur das erste Mal Wechsel auf "O" nicht zu funktionieren (erscheint dann TeSSA Red), das 2. Mal scheint aber zu funktionieren!

14. Symbol-Einstellung auf "TeSSA Blue" fehlerhaft (Steffen)
    - Die Symbol-Einstellung "TeSSA Blue" erzeugt das gleiche Symbol wie "TeSSA Red"

15. statischer Startspieler (Steffen)
    - Es startet immer Spieler 1, unabhängig davon, wie die vorherige Runde ausgegangen ist

Rekapitulierenende Runde:
Fehler 2
Fehler 9
Fehler 3
Fehler 14
Fehler 1
Fehler 13
Fehler 7
Fehler 8
Fehler 5
Fehler 6
Fehler 4

was fehlt:
Fehler 10,11,12,15

Selenium zum Testen von Webapplikationen
-> automatisiert testen
nun nicht mehr als Standalone, sondern nun über weboberfläche

was sich verbessert hat -> zugänglichkeit
Sollte ihne vpn gehen, "DNS sagt ja" von Torge

https://ct.informatik.haw-hamburg.de/tessa_tac_toe/

1. Klasse main anlegen mit großem M mit einer datei mit großem M und eine Methode main mit kleinem m erstellen