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 :

triple condition jeu


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2023
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2023
    Messages : 78
    Par défaut triple condition jeu
    Bonjour a tous,

    Je suis nouveau sur ce forum, debutant en programmation et en C#.NET, language que j'affectionne particulierement. J'essaye de faire un jeu de lettres (pendu) en application console en C#. J'ai implementé 2 conditions avec 2 messagesbox correspondant (bravo, c'est la bonne lettre, desole ce n'est pas la bonne lettre). Je voudrais rajouter une troisieme condition pour dire ("lettre deja trouvee). sauf que je n'arrive pas a le faire sans annuler la precedente ou sans voir le message ("lettre deja trouvee") juste apres le message ("bravo c'est la bonne lettre). Voici le code:

    public void Play()
    {
    while (!isWin)
    {
    Console.WriteLine("ecrivez une lettre");
    var letter = char.ToUpper(Console.ReadKey(true).KeyChar);
    int letterIndex = WordToGuess.GetIndexOf(letter);
    Console.WriteLine();

    if (letterIndex != -1)
    {
    Console.WriteLine($"bravo, vous avez trouve la bonne lettre:{letter}");
    Guesses.Add(letter);
    }
    else if (Guesses == Guesses)
    {
    Console.WriteLine($"lettre {letter} deja trouvee!");
    }
    else
    {
    Console.WriteLine("ce n'est pas la bonne lettre, reessayez");
    Misses.Add(letter);
    }
    if (Misses.Count > 0)
    {
    Console.WriteLine($"erreurs ({Misses.Count}) : {string.Join(", ", Misses)}");

    }

    CurrentWordGuessed = PrintWordToGuess();

    if (CurrentWordGuessed.IndexOf('_') == -1)
    {
    isWin = true;
    Console.WriteLine("bravo vous avez gagne");
    // Console.ReadKey();
    }

    if (Misses.Count >= maxErrors)
    {
    Console.WriteLine("dommage vous avez perdu");
    // Console.ReadKey();
    break;
    }


    }

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 547
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 547
    Par défaut
    Relis ta seconde condition (Guesses ==Guesses) et dis moi ce qui cloche: est-ce que tu testes la lettre saisie avec les lettres déjà utilisées ?
    D'ailleurs, est-ce que, dans tes règles, la lettre saisie par l'utilisateur doit être comptée comme erreur si elle a déjà été proposé par l'utilisateur et ne figure pas dans le mot? (exemple: si le mot ne contient pas de "a" et que l'utilisateur propose 5 fois "a", ça compte comme 5 erreurs ?)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2023
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2023
    Messages : 78
    Par défaut
    en fait j'ai resolu le probleme, il fallait rajouter un if dans le premier if. c'est a dire si la premiere condition est satisfaite (lettre trouvee) je rajoute une condition disant que si la lettre ecrite par le joueur a deja ete trouvee alors j'affiche le message "lettre deja trouvee".

    J'avoue avoir des problemes d'algorithmie, c'est a dire que je sais grosso modo ce qu'il faut faire mais je ne sais pas comment y arriver, ou alors je sais ne sais pas ou je dois ecrire le code. c'est normal? c'est une question de pratique d'apres vous?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 547
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 547
    Par défaut
    l'algorithmie tu n'as besoin que d'un crayon et d'un papier; c'est juste la recette (une suite d'instruction simple) pour obtenir le résultat souhaité et souvent juste de la logique.
    ça peut s'écrire en langage naturelle

    Exemple: algo pour se faire et manger une tartine de beurre:
    1-Je sors le beurre du frigo
    2-j'ouvre le beurre
    3-je sors un couteau
    4-Je sors une tranche de pain
    5-je fais griller mon pain
    6-tant que mon pain n'est pas grillé, j'attends
    7-je pose mon pain sur une assiette
    8-je prend mon couteau,
    9-je coupe du beurre
    10-j'étale le beurre sur le pain
    11-si ma tartine n'est pas totalement beurré, je recommence à l'étape 9
    12-sinon (donc ma tartine est totalement beurrée)
    13-je pose mon couteau
    14-je mange ma tartine
    15-j'ai fini ma tartine
    16-est-ce que j'en veux une autre?
    17-si oui, je recommence à l'étape 4 (PS: avant d'écrire cette ligne, ma 1ère étape était de sortir la tranche de pain, mais je l'ai déplacé en 4, car je ne vais pas sortir le beurre et le couteau alors qu'ils sont déjà sorties)
    18-sinon
    19-je referme le beurre
    20-je range le beurre dans le frigo
    21-je mets mon assiette et mon couteau dans l'évier
    22-je nettoie l'assiette et le couteau
    23-je range l'assiette et le couteau
    24-j'ai fini

    PS: j'ai fait un oubli dans cet algo
    je n'ai pas sortie l'assiette du placard au début

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2023
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2023
    Messages : 78
    Par défaut
    excellent exemple. Oui je pense que plus on pratique plus "ca rentre" et ca devient automatique avec le temps...

  6. #6
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 906
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 906
    Par défaut
    Bonjour,

    Il y a aussi une variante où il faut couper la tranche de pain.

Discussions similaires

  1. [XL-2007] Condition jeu d'icone avec formule
    Par Eskalibur dans le forum Excel
    Réponses: 7
    Dernier message: 24/05/2017, 12h14
  2. [Débutant] Problème de condition pour le Jeu OXO
    Par boligo2009 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/06/2016, 17h06
  3. [AC-2007] Macro-commande, triple conditions, mise à jour.
    Par charlhub dans le forum Access
    Réponses: 2
    Dernier message: 23/12/2011, 16h06
  4. [XL-2007] Triple condition "OU" ?
    Par byloute dans le forum Excel
    Réponses: 3
    Dernier message: 06/03/2010, 08h56
  5. Debugger starts autom. / jeu de propriétés = condition
    Par Chavadam dans le forum NetBeans
    Réponses: 0
    Dernier message: 03/04/2009, 10h02

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