Quels modèles de conception peuvent être utilisés pour créer un système de règles / validation pour un jeu comme les échecs (ce n'est qu'un exemple simple, le jeu réel a besoin d'ensembles de règles plus difficiles)
J'ai lu plusieurs questions sur ce site et je n'ai trouvé ni réponse concluante ni réponse me pointant dans la bonne direction.
Ce système nécessiterait les éléments suivants:
- Chaque objet auquel des règles sont appliquées doit implémenter une interface spécifique avec une méthode qui est le point de départ de la validation
- La règle doit être appliquée en 2 étapes: tout d'abord, elle doit être validée (peut pionner A se déplacer vers le carré D4), si vrai puis exécuter la méthode A si faux puis exécuter la méthode B
- Chaque objet peut avoir plusieurs règles qui doivent être appliquées dans une séquence spécifique. Lorsque la règle 1 est terminée, la règle 2 devrait alors commencer à valider, etc.
- Chaque règle distincte (par exemple: ne peut se déplacer que d'un carré, ne peut se déplacer qu'en diagonale, etc.) doit être dans sa propre classe et doit être réutilisable et applicable aux objets qui ont besoin de règles.
- Notez que cela va être utilisé dans un jeu multijoueur sur le backend
- Notez que chaque règle a besoin de plusieurs objets pour tester sa validité, par exemple, normalement un pion peut se déplacer de 1 case, maintenant la prochaine case du plateau de jeu est remplie par un pion de votre adversaire. Résultat: votre pion ne peut pas bouger. Le pion doit inclure les autres positions de pions ou le plateau de jeu dans sa validation.
Un autre mot pour ces règles serait des limites de comportement.