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 :

problème avec un exo


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Points : 36
    Points
    36
    Par défaut problème avec un exo
    Voila j'ai un petit problème avec un exo c'est un jeu de dé
    voila la règle c'est un joueur a et b qui jouent des séries de lancer de dé mais ils peuvent s'arreter a tout moment en faisant par la victoire par 100pts ou par la volonté du joueur
    Si le dé tombe sur 1 la série s'arete pour un joueur prend le relais
    Ce que j'ai fait comme programme mé jé un problème avec des variables j'arrive pas a trouver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    using System;
     
    public class JeuC
    {
        public static void Main()
    //fonction permettant de jouer au Jeu C avec la fonction aleatoire qui correspond 
    //à la fonction Random
        {
    int A = 0, B = 0;
    int a, b;
    float c;
     
    while (A >= 100)
    {
    while (a = 1)
    {
    Console.WriteLine("Tapez sur une touche pour lancer le dé");
    a = Aleatoire.GesNomb();
    Console.WriteLine("La valeur du dé est de" + a);
    A= A + a;
    Console.WriteLine("Score du joueur A est de "+ A);
    Console.WriteLine("Voulez vous continuer la partie O/N");
    c = Clavier.LireReel();
     
    }
    while (b = 1)
    {
    Console.WriteLine("Tapez sur une touche pour lancer le dé");
    b = Aleatoire.GesNomb(s);
    Console.WriteLine("La valeur du dé est de " + b);
    B = B + b;
    Console.WriteLine("Score du joueur B est de " + B);
    Console.WriteLine("Voulez vous continuer la partie O/N");
    c = Clavier.LireReel();
     
    }
    }
    if (c = "N")
    Console.WriteLine("Arret du Jeu");
        }
    }

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Inversion de la condition du while ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (A < 100)
    {
    while (a != 1)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Points : 36
    Points
    36
    Par défaut
    Merci de ton aide je t'en revaudrait ca un jour

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Points : 36
    Points
    36
    Par défaut
    il y a un autre probleme qui se passe c'est avec les variables c et N
    il me dit qu'il sont impossible de convertir en string en float et de float en bool la j'arrive pas a comprendre merci du coup de main d'avance

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    float c = Clavier.LireReel();
    ...
    if (c = "N")
    Il faut lire soit un réel, soit une chaine soit un enbtier et faire les bonnes transformations :
    Exemple i=Math.Round(f) ; s=i.ToString() ; s=f.ToString() ; i=float.TryParse(s) ; b=i>0 ; b=s!="" ; s=b.ToString ;

  6. #6
    Membre averti
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Points : 353
    Points
    353
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (c = "N")
    Console.WriteLine("Arret du Jeu");
        }
    }
    Si tu veux tester la valeur de c, essaie plutôt == dans ta condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (c == "N")
    {
    Console.WriteLine("Arret du Jeu");
        }

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Points : 36
    Points
    36
    Par défaut
    Merci de vos aides trés précieuse mais j'ai un petit probleme avec un menu pour un choix de plusieur jeu
    - quand je le compile et l'execute voila ce qu'il me marque :

    Premier Jeu ************************************ : 1
    Deuxieme Jeu *********************************** : 2
    Troisième Jeu ********************************** : 3
    Sortie du Jeu ********************************** : 4

    Exception non gérée : System.ArgumentOutOfRangeException: La valeur doit être supérieure ou égale à zéro et inférieure à la taille de la mémoire tampon de la console dans cette di
    ension.
    Nom du paramètre : left
    La valeur réelle était -1.
    à System.Console.SetCursorPosition(Int32 left, Int32 top)
    à Menu.Main()




    - Voila le code:

    using System;


    public class Menu
    {
    public static void Main()
    //fonction du menu modifié pour le jeu de dé
    {

    int choix, col, lin, delay = 1000000000;

    Console.SetWindowSize(Console.LargestWindowWidth,Console.LargestWindowHeight);//taille max fenêtre
    do
    {
    Console.Clear();//effacement d'écran
    Console.WriteLine("Premier Jeu ************************************ : 1");
    Console.WriteLine("Deuxieme Jeu *********************************** : 2");
    Console.WriteLine("Troisième Jeu ********************************** : 3");
    Console.WriteLine("Sortie du Jeu ********************************** : 4");
    col = Console.CursorLeft;//position du curseur en colonne
    lin = Console.CursorTop;//position du curseur en ligne

    //Console.CursorVisible;
    do //boucle de contrôle de la saisie
    {
    Console.SetCursorPosition(col-1,lin); //repositionne le curseur après saisie erronée
    Console.Write(" ");
    Console.SetCursorPosition(col - 1, lin);
    choix = Clavier.LireEntier();
    } while ((choix < 1) || (choix >= 4));
    if (choix==1)
    jeua.JeuA();
    else
    if(choix==2)
    jeub.JeuB();
    else
    if(choix==3)
    JeuC.jeuc();
    else
    if(choix==4)
    Console.Clear();

    switch (choix)
    {
    case 1: Tempo(delay, "Premier Jeu"); break;
    case 2: Tempo(delay, "Deuxieme Jeu"); break;
    case 3: Tempo(delay, "Troisième Jeu"); break;
    case 4: Tempo(delay, "Au revoir"); break;
    }

    } while (choix != 4);
    Console.SetWindowSize(80, 25);
    }

    public static void Tempo(int delay, string chaine) //boucle temporisation
    {
    int i;
    Console.Clear();
    Console.Write(chaine);
    for (i = 0; i < delay; i++) ;
    }

    }

  8. #8
    Membre du Club Avatar de clodo13
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    C'est normal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    col = Console.CursorLeft;//position du curseur en colonne
    la colonne est égale à 0 donc col -1 <0
    appel ta fonction avec col (non pas avec col-1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.SetCursorPosition(col,lin); //repositionne le curseur après saisie
    erronée

    @+

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Points : 36
    Points
    36
    Par défaut
    Salut
    Merci de vos aides les gars mais j'ai encore un probleme avec un autre programme la condition cé deux joeur de dé jouent a tour de role et le vainqueur est le premier atteindre 50 points
    - Voici le code :

    using System;


    public class jeua
    {
    public static void JeuA()
    //fonction permettant de jouer au Jeu A avec la fonction aleatoire ce qui correspond
    //à la fonction Random
    {
    int A=0, B=0, a, b;

    while ((A >= 50) || (B >= 50))
    {
    Console.Write("Tapez sur une touche pour lancer le dé");
    a = Aleatoire.GesNomb();
    Console.WriteLine("Votre valeur du dé est :" + a);
    A = A + a;

    Console.Write("Tapez sur une touche pour lancer le dé");
    b = Aleatoire.GesNomb();
    Console.WriteLine("Votre valeur du dé est :" + b);
    B = B + b;
    }
    Console.WriteLine("Score du Joueur A" + A);
    Console.WriteLine("Score du Joueur B" + B);
    if (A != 50)
    Console.WriteLine("Joueur A a gagné");
    else
    if (B != 50)
    Console.WriteLine("Joueur B a gagné");
    }
    }


    j'ai un autre problème pour le meme jeu sauf que dés qu'on tombe sur un 6 le joueur rejoue

    - Voici le code:
    using System;


    public class jeub
    {
    public static void JeuB()
    //fonction permettant de jouer au Jeu B avec la fonction Aleatoire qui correspond
    //à la fonction Random
    {
    int A = 0, B = 0;
    int a, b;

    while ((A >= 50) || (B >= 50))
    {
    Console.WriteLine("Tapez sur une touche pour lancer le dé");
    a = Aleatoire.GesNomb();
    Console.WriteLine("Votre valeur du dé est :" + a);
    A = A + a;


    Console.WriteLine("Tapez sur une touche pour lancer le dé");
    b = Aleatoire.GesNomb();
    Console.WriteLine("Votre valeur du dé est :" + b);
    B = B + b;

    if (a == 6)
    Aleatoire.GesNomb();
    if (b == 6)
    Aleatoire.GesNomb();
    }
    Console.WriteLine("score du Joueur A" + A);
    Console.WriteLine("score du Joueur B" + B);
    if (A >= 50)
    Console.WriteLine("Joueur A a gagné");
    else
    Console.WriteLine("Joueur B a gagné");
    }
    }

  10. #10
    Membre du Club Avatar de clodo13
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ((A >= 50) || (B >= 50))
    Ta condition je pense c'est pluto

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ((A <= 50) && (B <= 50))
    tanque aucun n'a atteint 50 on continue :!


    @+

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Points : 36
    Points
    36
    Par défaut
    Resalut

    Merci du coup de main ,j'ai fait les modif, mé j'ai encore un probleme je voudrait que le joueur tape sur lé dé a chaque il fodrait kil y é une condition d'arret Merci d'avance

  12. #12
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    http://www.developpez.net/forums/sho...d.php?t=440469

    http://www.developpez.net/forums/sho...d.php?t=436358

    Suffit de chercher deux minutes et on en trouve des choses !

    Je ne sais pas si cela peut t'aider, mais on ne sais jamais.

Discussions similaires

  1. Problème avec getchar().. (exo K&R)
    Par hidelov_U dans le forum C
    Réponses: 17
    Dernier message: 17/08/2012, 19h54
  2. Problèmes avec des exos de débutant
    Par Seedockh dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/06/2010, 14h57
  3. [eXo Portal] Problème d'installation Exo DMS 2.3 avec Exo Portal 2.5
    Par gwenBZH dans le forum Portails
    Réponses: 7
    Dernier message: 29/04/2009, 11h26
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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