Commencé à planifier le dévelopement du jeu

This commit is contained in:
julien committed 2026-10-05 18:45:15 +02:00
1 parent 51b1a4e823
commit 9e942a3db0
1 file changed
+16 -43
+16 -43
View File
@@ -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