2.0 KiB
2.0 KiB
Écarté
Étape 1
Objectif : pouvoir faire une partie à deux dans le même terminal.
- 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