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