Aller au contenu
Accueil moxon

Morpion en ligne

L'endpoint /tic-tac-toe permet de jouer et de stocker une partie de morpion en ligne. Les parties sont stockées pendant 1 heure et supportent les modes public et privé.

posthttps://api.moxon.dev/v3/tic-tac-toe

Paramètres

  • usernamestringrequis

    Le nom d'utilisateur effectuant le mouvement

  • movestringrequis

    Le coup joué au format ligne-colonne (ex. : 1-1, 2-2, 3-3)

  • sessionstringrequis

    L'identifiant de session de l'utilisateur

  • gamestringrequis

    L'identifiant de la partie permettant la connexion. Si la partie n'existe pas, elle sera créée

Format des coups

Le plateau est une grille 3x3 avec des positions numérotées comme suit :

1-1 | 1-2 | 1-3
----|-----|----
2-1 | 2-2 | 2-3
----|-----|----
3-1 | 3-2 | 3-3

Exemple de requête

Requête
curl -X POST -d "username=Utilisateur1&move=2-2&session=abc123&game=VWXYZ" "https://api.moxon.dev/v3/tic-tac-toe"

Réponse

Coup réussi

{
    "message": "Move sent successfully"
}

Victoire

{
    "message": "Move sent successfully. Utilisateur1 wins. Utilisateur2 loses.",
    "winner": "Utilisateur1",
    "loser": "Utilisateur2",
    "tie": false
}

Égalité

{
    "message": "Game over. It's a tie!",
    "winner": null,
    "loser": null,
    "tie": true
}

Réponses d'erreur

  • 400Rate limit exceeded. Try again in X seconds.Trop de requêtes
  • 400Invalid move. Please provide a valid move (e.g., 1-1, 2-2, 3-3).Format de coup invalide
  • 400Game is full, you can only watch.La partie a déjà deux joueurs
  • 400Please wait for the other player to make a move.Ce n'est pas votre tour
  • 400Move already made. Please choose a different move.Case déjà occupée
  • 400Session ID mismatchLa session ne correspond pas au joueur

Gestion des erreurs

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

  • 400Please provide a username (?username={username})Le paramètre username est manquant
  • 400Please provide a valid move (&move={move})Le paramètre move est manquant ou invalide
  • 400Please provide a valid session ID (&session={ID})Le paramètre session est manquant ou invalide
  • 400Please provide a valid game ID (&game={ID})Le paramètre game est manquant ou invalide

Lorsqu'une partie est terminée, la requête retournera les noms du gagnant et du perdant, ainsi que s'il y a égalité.