ForHosting KIT · Outils pour développeurs

Vérifiez le gagnant, le nul ou la partie de morpion

Ce vérificateur de gagnant au morpion lit une grille 3x3 complète ou partielle et détermine son résultat actuel.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Il indique si X ou O a gagné, si une grille remplie aboutit à un match nul ou à qui revient le prochain tour lorsque la partie peut continuer. Il rejette également les grilles mal formées et les nombres impossibles de X et de O. Vous pouvez donc l'utiliser pour valider des parties sauvegardées, tester une logique de jeu, corriger des exercices et alimenter de petites applications sans estimation ni inspection visuelle.

Saisissez la grille dans un format clair sur trois lignes

Fournissez exactement trois rangées comportant chacune trois cases. Utilisez X pour le premier joueur, O pour le second et un tiret pour chaque case vide. Vous pouvez placer des espaces entre les cases pour faciliter la lecture, comme dans X O X, car les espaces à l'intérieur de chaque rangée sont ignorés. Conservez chaque rangée de la grille sur sa propre ligne. Le vérificateur interprète les lettres x et o minuscules comme leurs équivalents majuscules, mais refuse tout autre caractère de case. Ce format strict permet de saisir, coller, conserver dans un scénario de test ou produire depuis une application une entrée dépourvue de symboles ambigus. Le premier joueur est toujours X, conformément à l'ordre habituel du morpion. Une grille vide contient donc trois rangées de trois tirets, tandis qu'une partie commencée garde un tiret là où personne n'a joué. Si le nombre de rangées est incorrect, qu'une rangée ne contient pas trois cases ou qu'un symbole non admis apparaît, la requête renvoie une erreur de saisie au lieu de tenter de réparer ou de réinterpréter la position. Les contrôles automatisés restent ainsi prévisibles.

Comprenez la détection des victoires et des matchs nuls

Le vérificateur examine les huit lignes gagnantes possibles : trois rangées horizontales, trois colonnes verticales et les deux diagonales. Un joueur gagne lorsqu'une ou plusieurs de ces lignes contiennent trois marques identiques. Une réponse victorieuse désigne le joueur et renvoie toutes les lignes gagnantes sous forme de paires de coordonnées de rangée et de colonne. Les coordonnées commencent à un : la case supérieure gauche correspond donc à la rangée 1 et à la colonne 1. Renvoyer toutes les lignes correspondantes est important quand le dernier coup complète deux lignes à la fois. Si aucun joueur ne possède de ligne gagnante et que toutes les cases sont occupées, le résultat est un match nul. S'il reste des cases vides, la partie est indiquée comme en cours et la réponse désigne le prochain joueur d'après le nombre de marques. L'algorithme est déterministe et ne parcourt que les neuf cases et les huit lignes connues. Il n'utilise ni hasard, ni service réseau, ni état conservé, ni hypothèse sur des coups absents de la grille. Une même grille produit toujours le même résultat structuré, ce qui convient aux tests unitaires et aux validations reproductibles.

Repérez les positions impossibles dans une partie régulière

Une grille peut sembler plausible tout en enfreignant l'ordre de jeu. Puisque X commence et que les joueurs alternent, X doit avoir autant de marques que O ou exactement une de plus. Le vérificateur refuse une position lorsque O a joué plus souvent que X ou lorsque X compte au moins deux coups d'avance. Il confronte aussi une victoire à ces nombres : une victoire de X exige un X supplémentaire, tandis qu'une victoire de O exige des nombres égaux. Une grille où les deux joueurs possèdent des lignes gagnantes est refusée, car la partie aurait dû s'arrêter après la première victoire valide. Ces contrôles sont particulièrement utiles lorsque les grilles proviennent de saisies utilisateur, d'enregistrements de base de données, de tutoriels, d'exercices d'entretien ou d'un moteur de jeu personnalisé en développement. Ils empêchent qu'une position impossible soit étiquetée comme une victoire ou un nul valide. La capacité évalue l'instantané fourni au lieu de reconstituer tout l'historique des coups ; sa validation porte donc sur les faits qu'une grille 3x3 peut démontrer directement. Pour une position valide non terminée, utilisez next_player afin de poursuivre avec la bonne marque.

Testez un moteur de jeu

Comparez la grille sauvegardée par votre application à un résultat déterministe pendant les tests automatisés.

Validez les problèmes envoyés

Refusez les positions mal formées ou aux tours incohérents avant d'évaluer la réponse d'une personne.

Reprenez une partie sauvegardée

Déterminez si la partie est finie et identifiez le bon prochain joueur sur une grille inachevée.

Quel format de grille dois-je utiliser ?

Envoyez trois lignes de trois cases avec X, O et - pour une case vide. Les espaces entre les cases sont facultatifs.

Les lettres minuscules sont-elles acceptées ?

Oui. Les lettres x et o minuscules sont converties en majuscules avant la vérification de la grille.

Comment les lignes gagnantes sont-elles représentées ?

Chaque ligne gagnante est un tableau de trois paires de coordonnées de rangée et de colonne commençant à un.

Quand le nombre de X et de O est-il invalide ?

O ne peut jamais avoir plus de marques que X, et X ne peut en avoir qu'une de plus, puisqu'il commence et que les tours alternent.

Quel est le tarif ?

Chaque requête API coûte $0.002. La version pour navigateur peut s'exécuter localement sur la page.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

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

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →