IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

traitement d'une chaîne de caractere pour un jeu dont vous êtes le heros


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 68
    Par défaut traitement d'une chaîne de caractere pour un jeu dont vous êtes le heros
    Bonsoir,

    J'essaie de faire un petit jeu dont vous êtes le héros textuel (représenté par un graphe connexe), mais j'ai un petit probleme au niveau de comment je vais bien pouvoir traiter les entrées des utilisateurs.

    En faite au lieu de faire un truc tout bête et pas du tout interactif "du style pour faire tel action tapez 1, pour tel autre tapez 2..." mais une veritable gestion des phrases.

    Et c'est là où j'ai pas trop d'idées de comment faire.

    Ma premiere idée a été de faire par exemple un truc comme :

    (affichage du noeud)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    do {
    if(direction==0) afficher_erreur();
    scanf("%s",entree);
    direction=traiterphrase(entree,motclef_1,motclef_2,motclef_n); }
    while(direction==0);
    entree (de type char *)serait la phrase entrée par l'utilisateur après l'affichage du noeud .
    direction un pseudo booléen.
    traiterphrase une fonction qui comparerait l'entree avec chaque motclef qu'on initialiserait apres chaque affichage de noeud différent, selon le contexte et les differents choix qui s'offriraient "au héros", et qui retournerait un nombre, par exemple 0 si aucun mot de l'entrée n'est semblable à un des mots clefs, 1 si un des mots de l'entrée est semblable avec motclef_1, etc etc

    et on pourrait continuer à parcourir le graphe avec le nombre "direction" qui correspondrait à une arête precise à partir du noeud parcouru.

    Mais bon, cette methode me semble assez limité et assez "sale", car si on veut gerer par exemple une phrase où le verbe et le complement sont important comme "prendre le parchemin" ou d'autres type de phrase où juste le verbe devra être pris en compte comme "partir", ça posera un probleme...

    Merci d'avance pour vos conseils

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Rien compris de ce que tu attends comme réponse. C'est un problème de codage ou de conception que tu as ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 68
    Par défaut
    de conception

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 68
    Par défaut
    personne n'a d'idées?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Par défaut
    En gros, si je comprend bien, tu veux faire rien de moins que l'analyse sémantique de commandes en langage naturel...

    C'est peut-être un peu ambitieux.

    Tu pourrais plutôt proposer une liste de choix dans un menu déroulant dont le contenu serait alimenté dynamiquement en fonction du noeud du graphe où se trouve le joueur (voire, plus luxueux, également de ce qu'il a déjà fait auparavant).

    Mais si tu tiens à travailler en mode texte, une solution peut être d'afficher les actions possibles (sous formes de phrases), puis d'analyser la saisie utilisateur : en définissant une "distance" entre phrases, tu peux soit reconnaître une des actions possibles (distance inférieure à un seuil), soit redemander à l'utilisateur si sa saisie est trop éloignée des choix proposés.

    Mais c'est plutôt sur le forum algo que tu trouveras de l'aide pour faire ça.

Discussions similaires

  1. Comment faire pour supprimer dans une chaîne de caractere
    Par Thierry69CH dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/07/2010, 20h23
  2. [RegEx] Traitement d'une chaîne de caractères
    Par Youn05 dans le forum Langage
    Réponses: 4
    Dernier message: 01/04/2007, 12h18
  3. traitement d'une chaine de caractere
    Par Blo0d4x3 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 28/12/2006, 08h04
  4. Permuter les bits d'une chaîne de caractere
    Par Menontona dans le forum C
    Réponses: 14
    Dernier message: 13/09/2006, 15h30
  5. [MySQL] Traitement d'une chaîne avant insertion
    Par yann_p dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 18/08/2006, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo