Je suis en train d'essayer d'apprendre comment programmer un jeu de cartes à collectionner (virtuel) (similaire à Magic the Gathering) en Javascript. J'ai lu un peu sur l'architecture MVC et les contrôleurs, mais c'est au-dessus de mes capacités (je n'ai pas suivi d'études en informatique) et je me demande si quelqu'un a des liens ou des conseils sur la façon dont je pourrais en apprendre davantage sur l'architecture du code au niveau débutant.
Chaque "carte" serait-elle représentée comme un objet, et toute la logique des règles des cartes serait-elle enveloppée dans une seule grande fonction de moteur de jeu, ou de nombreuses petites fonctions connectées les unes aux autres?
Voici une question d'exemple: Imaginez qu'il y a une carte qui dit "Quand cette carte entre en jeu, piochez une carte." Comment devrais-je concevoir le jeu pour prévoir cette situation, et comment est-ce déclenché (de la manière la plus efficace)? Est-ce que la carte déclenche le moteur de jeu, ou est-ce que le moteur de jeu analyse chaque carte jouée?
Voici un autre exemple : Imaginez qu'il y a une carte qui dit "Toutes vos cartes coûtent 1 de moins à jouer." et elle reste en jeu en permanence. Comment le jeu comprend-il qu'il doit modifier ses règles dans ce cas? Est-ce une fonction qui écoute les cartes jouées et interrompt le coût? À chaque résolution de tour, où cette règle est-elle stockée? Y a-t-il des variables qui stockent les règles de base du jeu (modificateur de coût de carte global : 0 ; votre modificateur de coût de carte : 0) et d'autres variables qui stockent ces nouvelles règles introduites par les cartes (votre modificateur de coût de carte : -1), ou ces variables sont-elles créées dynamiquement par le moteur de jeu lorsque les cartes modifient les règles (votre modificateur de coût d'elfe : -2)? Et comment les règles savent-elles qu'elles doivent changer lorsque une carte est détruite, supprimant ainsi la modification de règle de la carte?
Est-ce que ce dont j'ai besoin est un guide sur les écouteurs et les événements? (Je ne sais pas grand-chose à leur sujet, mais j'ai vu des références à ce sujet de temps en temps). Pourriez-vous me pointer dans la direction d'une bonne ressource?
Pour être clair, je n'essaie pas de demander aux gens de faire une recherche Google pour moi ; je tâtonne aveuglément dans le noir et je demande si quelqu'un pourrait me montrer les bons mots ou phrases à rechercher. Merci!