From 9e942a3db0e67b93444a6e6e3cc8fdd685b171e8 Mon Sep 17 00:00:00 2001 From: julien Date: Mon, 5 Oct 2026 18:45:15 +0200 Subject: [PATCH] =?UTF-8?q?Commenc=C3=A9=20=C3=A0=20planifier=20le=20d?= =?UTF-8?q?=C3=A9velopement=20du=20jeu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 59 +++++++++++++++---------------------------------------- 1 file changed, 16 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 138439d..5a486bd 100644 --- a/README.md +++ b/README.md @@ -1,60 +1,33 @@ # Écarté -## Étape 1 +## Étape 1 — Jeu local -Objectif : pouvoir faire une partie à deux dans le même terminal. +Objectif : pouvoir jouer une partie complète à deux dans le même terminal. - [x] Prototype « bataille simplifiée » -- [ ] Préparation du jeu conforme à l’Écarté - - [ ] Distribuer cinq cartes à chaque joueur - - [ ] Conserver le talon - - [ ] Retourner la carte déterminant l’atout -- [ ] Choix manuel des cartes -- [ ] Moteur de plis -- [ ] Validation complète des coups -- [ ] Phase d’écart -- [ ] Partie complète -- [ ] Ajouter des tests du moteur +- [ ] Implémenter les règles complètes de l’Écarté -## Étape 2 +## Étape 2 — Jeu en réseau local -Objectif : séparer le moteur de jeu de l’interface terminal et permettre à deux clients de jouer en réseau local. +Objectif : permettre à deux joueurs de jouer depuis deux terminaux différents. -- [ ] Séparer complètement le moteur de l’interface terminal -- [ ] Définir un protocole simple entre client et serveur -- [ ] Créer un serveur Ruby -- [ ] Créer un client terminal Ruby -- [ ] Permettre à deux clients de se connecter au serveur -- [ ] Créer et rejoindre une partie -- [ ] Identifier les deux joueurs -- [ ] Transmettre les actions des joueurs au serveur -- [ ] Faire valider tous les coups par le moteur côté serveur -- [ ] Transmettre l’état de la partie aux clients +- [ ] Séparer le moteur de l’interface +- [ ] Créer le serveur et le client Ruby - [ ] Jouer une partie complète sur le réseau local -## Étape 3 +## Étape 3 — Jeu par Internet -Objectif : permettre à deux joueurs de jouer à distance par Internet. +Objectif : permettre à deux joueurs de jouer à distance. -- [ ] Préparer le serveur pour fonctionner sur le VPS -- [ ] Gérer plusieurs parties simultanément -- [ ] Générer un identifiant permettant de rejoindre une partie -- [ ] Gérer proprement les déconnexions -- [ ] Permettre la reconnexion à une partie -- [ ] Dockeriser le serveur +- [ ] Adapter le serveur au fonctionnement sur Internet +- [ ] Gérer plusieurs parties et les reconnexions - [ ] Déployer le serveur sur le VPS -- [ ] Sécuriser et configurer l’accès réseau -- [ ] Rendre une partie complète jouable à distance -## Étape 4 +## Étape 4 — Finitions -Objectif : améliorer le confort d’utilisation. +Objectif : améliorer le confort et la robustesse du jeu. -- [ ] Améliorer l’affichage dans le terminal -- [ ] Afficher clairement le tour du joueur -- [ ] Afficher l’historique des plis -- [ ] Ajouter des messages d’erreur explicites -- [ ] Permettre d’abandonner une partie -- [ ] Permettre de rejouer -- [ ] Gérer proprement les interruptions du client +- [ ] Améliorer l’interface terminal +- [ ] Améliorer la gestion des erreurs et interruptions +- [ ] Ajouter les fonctions de confort