Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Semaine 10

Lien du front : http://csharp.nouvet.fr/front10/

Nouvelle liste d’objets dans le shop : http://csharp.nouvet.fr/front10/items.json

Rendu

Envoyez par mail le lien du repo git à cyril@algorion.fr / benoit_bernay@hotmail.com

Dans le README, précisez les membres de groupes et leur filière.

Prérequis

Les messages SignalR doivent être envoyés depuis les contrôleurs.

Les services devront être testés unitairement.

1. Compteur de joueurs en ligne

Savoir combien de personnes jouent en même temps renforce l’aspect communautaire.

Objectif

  • Afficher en temps réel le nombre de connexions WebSocket actives.

Implémentation

  • À chaque connexion/déconnexion, envoyez un événement UpdateUserCount à tous les clients avec la nouvelle valeur.
  • Le front affichera cette information dans le panneau de chat ou l’en-tête.

2. Notifications de High Score en Temps Réel

Actuellement, on ne sait pas quel est le plus grand score.

Objectif

  • Lorsqu’un joueur clic et que son score est le plus haut enregistré, une notification est envoyée à tout le monde.

Implémentation

  • Si le record est battu, envoyez un événement NewHighScore avec le nom du joueur et le nouveau score.
  • Garder en cache le top score pour éviter trop de requêtes DB
  • Attention : Ne spammez pas ! Si le joueur clique 10 fois par seconde et reste au-dessus du record, n’envoyez pas 10 notifs. Envoyez la notif seulement quand le record est franchi.

3. Annonces d’Achats Épiques

Quand un joueur atteint un niveau suffisant pour acheter l’objet le plus cher du jeu, cela mérite d’être célébré.

Objectif

  • Envoyer un message système dans le chat lorsqu’un joueur achète un item qui vaut plus de 10 000 clicks.

Implémentation

  • Vérifier si l’item acheté vaut plus de 10 000 clicks.
  • Si c’est le cas, envoyez un message via le Hub : SYSTEM: {UserName} vient d'acquérir {ItemName} !.

4. Reset du score

On va améliorer l’expérience utilisateur en ajoutant des notifications lorsqu’un joueur effectue un reset de son score. On va remplacer le message système par un événement personnalisé.

Objectif

  • Envoyer un événement au front qui déclenchera un message dans le chat lorsqu’un joueur effectue un reset de son score avec le nom du joueur et le nouveau score.

Implémentation

  • Lorsqu’un joueur effectue un reset de son score, envoyez un événement PlayerReset à tout le monde avec le nom du joueur et le nouveau score.

5. Gérer l’overflow du compteur de click

Quand le compteur atteint la valeur maximum, plafonnez le à la valeur max. Le but est d’empêcher les valeurs négatives.

6. Actualisation des scores

Quand vous actualisez les scores dans le background service, envoyer un event ScoreUpdate avec comme paramètre le score du joueur.

Vous enverrez un event pour chaque joueur connecté. Les events seront envoyés uniquement au joueur concerné.

Quand un joueur se connecte, il envoie un event Login avec comme paramètre son id.