From 51b1a4e823f1e226be990697ee96b1eeaadda165 Mon Sep 17 00:00:00 2001 From: julien Date: Sun, 4 Oct 2026 23:07:09 +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 | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0066a54..138439d 100644 --- a/README.md +++ b/README.md @@ -4,28 +4,57 @@ Objectif : pouvoir faire une partie à deux dans le même terminal. -- [x] Prototype “bataille simplifiée” +- [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 ## Étape 2 -Objectif : séparer le moteur de jeu de l’interface et rendre une partie jouable dans un navigateur en local. +Objectif : séparer le moteur de jeu de l’interface terminal et permettre à deux clients de jouer en réseau local. -- [ ] Séparer complètement le moteur et l’interface terminal -- [ ] Ajouter un petit serveur web Ruby -- [ ] Créer une partie depuis le navigateur -- [ ] Afficher la main du joueur -- [ ] Permettre de sélectionner une carte -- [ ] Faire valider chaque action par le moteur Ruby -- [ ] Gérer deux joueurs dans deux sessions/navigateurs différents -- [ ] Jouer une partie complète en local +- [ ] 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 +- [ ] Jouer une partie complète sur le réseau local ## Étape 3 -Objectif : jouer à deux à distance par internet +Objectif : permettre à deux joueurs de jouer à distance par Internet. + +- [ ] 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 +- [ ] 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 + +Objectif : améliorer le confort d’utilisation. + +- [ ] 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