Files
ecarte/README.md
T

61 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Écarté
## Étape 1
Objectif : pouvoir faire une partie à 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
## Étape 2
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 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 : 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