feature: receive game events from server
Permet de tester un jeu avec intégration complète entre le client et le serveur. La logique du jeu est contrôlée par le serveur et le client ne fait que réagir aux actions.
Ajouts
- La logique de jeu côté client est déplacée dans des services. De plus, la logique ne se résume qu'à mettre à jour les éléments importants en fonction des événements reçus par le serveur.
Modifications
- Le serveur n'envoie plus le nom d'utilisateur au client. Cela cassait des trucs avec la librairie client Socket.IO. Il faudrait revoir le payload envoyé. Puisque le nom sera toujours Organisateur au sprint 1, je propose de juste le hardcode.
Conséquences
- Tester le jeu fonctionne! Il resterait quelques petits trucs UI à faire, mais on respecte les requis.
- Les tests ont été fixed/adaptés à la nouvelle architecture, mais il y a beaucoup de méthodes non testées. Cela sera fait dans une autre MR. Le but est de sortir le feature sur dev ASAP.
- Une "faille" existe. En ce moment, le serveur envoie TimesUp quand le timer est à 0, et la partie ne continue qu'après que le client ne réponde avec Answer. Techniquement, un client manipulé pourrait prendre plus de temps pour répondre et/ou laisser la partie bloquée à l'infini. Je ne crois pas que ce soit bien grave, surtout pour le premier sprint.