ForHosting KIT · Entwickler-Tools

Tic-Tac-Toe: Gewinner, Remis oder Spielstand prüfen

Diese Tic-Tac-Toe-Gewinnerprüfung liest ein vollständiges oder teilweise belegtes 3x3-Spielfeld und bestimmt den aktuellen Ausgang.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Sie meldet, ob X oder O gewonnen hat, ob ein vollständig belegtes Feld ein Remis darstellt oder wer bei einem noch laufenden Spiel als Nächstes zieht. Zudem weist sie fehlerhafte Felder und unmögliche Anzahlen von X und O zurück. Damit können Sie gespeicherte Partien validieren, Spiellogik testen, Aufgaben kontrollieren und kleine Anwendungen ohne Vermutungen oder visuelle Prüfung betreiben.

Geben Sie das Spielfeld übersichtlich in drei Zeilen ein

Geben Sie genau drei Reihen mit jeweils drei Feldern an. Verwenden Sie X für die zuerst spielende Person, O für die zweite Person und einen Bindestrich für jedes freie Feld. Zur besseren Lesbarkeit dürfen Sie Leerzeichen zwischen die Felder setzen, etwa X O X, denn Leerraum innerhalb einer Reihe wird ignoriert. Schreiben Sie jede Spielfeldreihe in eine eigene Zeile. Die Prüfung behandelt kleine x und o wie ihre großgeschriebenen Entsprechungen, weist aber alle anderen Feldzeichen zurück. Durch dieses strikte Format lässt sich die Eingabe unkompliziert tippen, einfügen, in einem Testfall speichern oder in einer Anwendung erzeugen, ohne mehrdeutige Symbole zuzulassen. X beginnt immer, wie es der üblichen Zugfolge von Tic-Tac-Toe entspricht. Ein leeres Feld besteht daher aus drei Reihen mit je drei Bindestrichen; bei einer begonnenen Partie bleibt an jeder unbesetzten Stelle ein Bindestrich. Bei zu vielen oder zu wenigen Reihen, einer falschen Feldzahl in einer Reihe oder einem unzulässigen Zeichen liefert die Anfrage einen Eingabefehler, statt die Position eigenmächtig zu korrigieren oder umzudeuten. Dadurch bleiben automatisierte Prüfungen verlässlich.

Verstehen Sie die Erkennung von Siegen und Remis

Die Prüfung untersucht alle acht möglichen Gewinnlinien: drei waagerechte Reihen, drei senkrechte Spalten und die beiden Diagonalen. Eine Person gewinnt, sobald eine oder mehrere dieser Linien drei gleiche Zeichen enthalten. Eine Gewinnantwort nennt das Zeichen und gibt sämtliche Gewinnlinien als Paare aus Reihen- und Spaltenkoordinaten zurück. Die Zählung beginnt bei eins; das Feld oben links liegt somit in Reihe 1, Spalte 1. Alle passenden Linien zurückzugeben ist wichtig, wenn der letzte Zug gleichzeitig zwei Linien vervollständigt. Hat niemand eine Gewinnlinie und sind alle Felder belegt, lautet das Ergebnis Remis. Sind noch Felder frei, wird die Partie als laufend gemeldet und die Antwort bestimmt anhand der Zeichenanzahl, wer als Nächstes zieht. Der Algorithmus arbeitet deterministisch und untersucht ausschließlich die neun Felder sowie die acht bekannten Linien. Er verwendet weder Zufall noch Netzwerkdienste, gespeicherten Zustand oder Annahmen über Züge, die auf dem Feld nicht sichtbar sind. Dasselbe Spielfeld erzeugt stets dasselbe strukturierte Ergebnis; dadurch eignet sich die Funktion für Unit-Tests und wiederholbare Validierungen.

Erkennen Sie Positionen, die in einem gültigen Spiel unmöglich sind

Ein Spielfeld kann auf den ersten Blick glaubwürdig wirken und dennoch gegen die Zugfolge verstoßen. Da X beginnt und danach abwechselnd gespielt wird, muss X entweder genauso oft wie O oder genau einmal häufiger vorkommen. Die Prüfung weist eine Position zurück, wenn O öfter als X gesetzt wurde oder X mindestens zwei Züge voraus ist. Auch ein Sieg wird mit diesen Anzahlen abgeglichen: Bei einem Sieg von X muss genau ein X mehr vorhanden sein, bei einem Sieg von O müssen die Anzahlen übereinstimmen. Ein Feld mit Gewinnlinien für beide Zeichen ist ungültig, weil die Partie nach dem ersten gültigen Sieg hätte enden müssen. Diese Kontrollen sind besonders hilfreich, wenn Spielfelder aus Benutzereingaben, Datenbankeinträgen, Anleitungen, Bewerbungsaufgaben oder einer selbst entwickelten Spiel-Engine stammen. Sie verhindern, dass eine unmögliche Position fälschlich als gültiger Sieg oder als Remis bezeichnet wird. Die Funktion bewertet den übergebenen Schnappschuss, statt den vollständigen Zugverlauf zu rekonstruieren. Ihre Validierung beschränkt sich daher auf Tatsachen, die sich unmittelbar aus einem 3x3-Feld ableiten lassen. Verwenden Sie bei einer gültigen, laufenden Position next_player, um mit dem richtigen Zeichen fortzufahren.

Testen Sie eine Spiel-Engine

Vergleichen Sie das gespeicherte Spielfeld Ihrer Anwendung in automatisierten Tests mit einem deterministischen Ergebnis.

Validieren Sie eingereichte Aufgaben

Weisen Sie fehlerhafte Positionen oder widersprüchliche Zugfolgen vor der Bewertung einer Antwort zurück.

Setzen Sie eine gespeicherte Partie fort

Ermitteln Sie, ob das Spiel beendet ist, und bestimmen Sie bei einem laufenden Feld die richtige nächste Person.

Welches Spielfeldformat soll ich verwenden?

Senden Sie drei Zeilen mit je drei Feldern und verwenden Sie X, O sowie - für ein freies Feld. Leerzeichen zwischen Feldern sind optional.

Werden Kleinbuchstaben akzeptiert?

Ja. Kleine x und o werden vor der Prüfung des Spielfelds in Großbuchstaben umgewandelt.

Wie werden Gewinnlinien dargestellt?

Jede Gewinnlinie ist ein Array aus drei Paaren von Reihen- und Spaltenkoordinaten, deren Zählung bei eins beginnt.

Wann ist die Anzahl von X und O ungültig?

O darf nie häufiger als X vorkommen, und X darf höchstens einmal häufiger vorkommen, da X beginnt und die Züge wechseln.

Wie hoch sind die Kosten?

Jede API-Anfrage kostet $0.002. Die Browserversion kann lokal auf der Seite ausgeführt werden.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/game/tic-tac-toe-winner-check

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/game/tic-tac-toe-winner-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"board":"X O X\nO X -\n- O X"}'
{
  "board": "X O X\nO X -\n- O X"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "game.tic_tac_toe_winner_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →