27-11-2018, 10:33 PM
(Modification du message : 27-11-2018, 10:36 PM par Sephi-Chan.)
Dans le premier cas (jeu local), le client est juste la partie du code qui n'est pas la state machine et qui appelle celle-ci, à travers une API (ce qui ne t'oblige donc pas à exposer la structure interne).
Dans le cas du client/serveur, les requêtes arrivent sur le endpoint (dans mon cas du WebSocket ou de l'UDP), qui vérifie : si on est dans le cas d'un joueur qui joue une carte, je peux vérifier (via l'API de la state machine) que le joueur donné a bien le droit de jouer, qu'il possède bien la carte qu'il souhaite jouer, etc.
Comme tu le dis, les données merdiques n'arrivent que si on forge : on peut bien se permettre de ne pas tenter de récupérer ou d'afficher de belles erreurs dans ce cas.
Dans le cas du client/serveur, les requêtes arrivent sur le endpoint (dans mon cas du WebSocket ou de l'UDP), qui vérifie : si on est dans le cas d'un joueur qui joue une carte, je peux vérifier (via l'API de la state machine) que le joueur donné a bien le droit de jouer, qu'il possède bien la carte qu'il souhaite jouer, etc.
Comme tu le dis, les données merdiques n'arrivent que si on forge : on peut bien se permettre de ne pas tenter de récupérer ou d'afficher de belles erreurs dans ce cas.