Je suis en train de jouer avec une aventure MUD/texte (s'il vous plaît ne riez pas) dans Ruby. Quelqu'un peut-il me donner des indications sur une solution élégante, basée sur l'OOP, pour analyser le texte d'entrée?Elégant commande-analyse dans un jeu de texte basé sur la POO
Nous ne parlons ici de rien de plus complexe que "mettre la baguette sur la table". Mais tout doit être doux. Je veux étendre l'ensemble de commandes sans douleur, plus tard.
Mes pensées actuelles, légèrement simplifié:
Chaque classe d'élément (boîte, table, salle, lecteur) sait reconnaître une commande qui « appartient » à elle.
La classe de jeu comprend une sorte d'un domaine spécifique langage impliquant des actions telles que « objet mouvement X à l'intérieur de l'objet Y », « Description de l'exposition de l'objet X », etc.
La classe de jeu demande à chaque élément dans la pièce s'il reconnaît la commande d'entrée. Premier à dire oui gagne.
Ensuite, il transmet le contrôle à une méthode de la classe d'éléments qui gère la commande. Cette méthode reformule la commande dans le DSL, la renvoie à l'objet du jeu pour que cela se produise.
Il doit y avoir des façons élégantes et usitées de faire ce genre de choses. Je n'arrive pas à google quoi que ce soit, cependant.
En note de bas de page, le bit velu avec mon plan actuel met en œuvre des actions qui impliquent deux objets. – Shadowfirebird
Vous pouvez commencer par http://stackoverflow.com/questions/tagged/natural-language et voir où cela mène. – dmckee
Ta! Je viens d'ajouter cette balise à la question. – Shadowfirebird