Voici mon deuxième projet personnel codé avec React. L’objectif était de coder un jeu de yam selon une variante familiale.
Ce projet est actuellement en pause car mon intention initiale était d’en faire une application multi-joueurs en ligne.
Fonctionnalités développées :
- Changer aléatoirement la valeur des cinq dès ou uniquement de ceux qui sont rejoués ;
- Limiter chaque tour à trois lancers maximum ;
- Calculer le résultat des dés et afficher uniquement les différents choix encore possibles ;
- Tenir compte des combinaisons :
- grande somme ;
- petite somme (grande somme > petite somme) ;
- full (3 dès identiques + 2 dès identiques) ;
- suite ( 5 dès qui se suivent parfaitement) ;
- yam (5 dès identiques) ;
- Enregistrer les points en fonction du choix effectué et les afficher dans la case correspondante ;
- Déterminer le score du joueur et s’il a suffisamment de point pour obtenir un bonus ;
- Changer de joueur à la fin de chaque tour ;
Difficultés :
La version multi-joueurs que je souhaitais développer était un peu trop ambitieuse pour mon niveau.
Fonctionnalités à améliorer :
- Gérer l’ajout de joueurs au début d’une partie ;
- Mettre en place un premier lancer individuel pour définir l’ordre des joueurs ;
- Faire un nouveau lancer en cas d’égalité entre ceux qui ont la plus forte valeur, répéter jusqu’à ce qu’il y ait un seul joueur ;
- Créer un tableau en plaçant les joueurs en fonction de la valeur de leur premier lancer, de la plus grande à la plus petite ;
- Afficher le classement final en mettant en avant le score le plus haut et celui le plus bas ;
Fonctionnalités à développer
- Créer un salon privé pour chaque joueur et son groupe ;
- Actualisation de résultats à chaque lancer (ou au minimum à la fin du tour) pour tous les joueurs ;
- Vérifier et gérer les 1er et dernier joueurs en cas d’ex-aequo ;
- Proposer de faire une nouvelle partie avec les mêmes joueurs ;
- Gérer l’abandon ou la déconnexion d’un joueur en cours de partie ;
Un projet en pause mais de l’expérience acquise
Skills tech
- Créer une interface uniquement avec du CSS ;
- Apprendre à utiliser les animations CSS ;
- Appliquer la mise à jour de Redux ;
- Afficher des composants en utilisant des opérateurs logiques ;