Créer un jeu [Fermé]

Messages postés
5
Date d'inscription
samedi 12 novembre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
- - Dernière réponse :  Utilisateur anonyme - 14 nov. 2016 à 21:02
Bonjour, j’ai cet énoncé à résoudre en #C, quelqu’un serait-il me donner le code à suivre? J'ai déjà réussi à faire apparaître "Plus grand", "plus petit" et "gagné" mais le fait de rajouter cet intervalle en fin d'algorithme me pose problème! Un tout grand merci d'avance :)

Un joueur A propose un nombre entier compris entre 1 et 100.
Un joueur B doit deviner ce nombre avec l’aide de l’ordinateur qui affichera :
• « PLUS GRAND » lorsque le nombre proposé par le joueur B est plus petit que le nombre mystérieux
• « PLUS PETIT » lorsque le nombre proposé par le joueur B est plus grand que le nombre mystérieux
• « GAGNÉ » lorsque le nombre proposé par le joueur B correspond au nombre mystérieux, ce qui marquera la fin du jeu.
Cependant, afin d’aider encore un peu plus le joueur, l’ordinateur spécifiera en fin d’algorithme, l’intervalle dans lequel le joueur devra faire sa future proposition.
Exemples :
• Proposez maintenant un nombre mystérieux compris entre 1 et 100
• Proposez maintenant un nombre mystérieux compris entre 1 et 60
• Proposez maintenant un nombre mystérieux compris entre 40 et 60
• Proposez maintenant un nombre mystérieux compris entre 50 et 60
Afficher la suite 

4 réponses

Meilleure réponse
1
Merci
De nouveau :

Pour l'aide de l'ordinateur, voici ce que je te propose : stocker dans un tableau les longueurs d'intervalle possible. D'après l'exemple que tu as choisi, ce tableau contiendra : 100, 60, 20, 10. Chaque fois que le joueur B fera un choix, l'invervalle se réduira jusqu'à la dernière longueur possible (ici, 10).
On appelera "i_ecart" la longueur actuelle de l'intervalle d'aide de l'ordinateur. Initiallement, elle vaudra 0 (pour pointer sur le premier élément du tableau).

Pour un premier travail, tu rédigeras une fonction qui prend en entrée deux entiers : "i_ecart" et la valeur choisie par le joueur B. Ta fonction sera chargée d'afficher le message d'aide correspondant.

Exemple : si j'appelle cette fonction avec "i_ecart" = 1 et valeur choisie par le joueur B = 45 alors ta fonction affichera :

Proposez maintenant un nombre mystérieux compris entre 15 et 75

(75 - 15 = 60)

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59066 internautes nous ont dit merci ce mois-ci

clairehgh
Messages postés
5
Date d'inscription
samedi 12 novembre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
-
J'ai établis ce que vous m'avez donné en #C et cela m'a bien aidé! Mon jeu fonctionne plutôt bien! Un tout tout grand merci à vous, une bonne journée :)
Utilisateur anonyme -
Penser à faire soit même ce que je viens de faire mais seul. On appelle ça du code en langage naturel. Au début, les instructions que tu vas marquer seront trop loin du code. Il faut ensuite réfléchir aux outils dont tu disposes (condition et boucle) pour les traduire. Ensuite, il ne reste plus qu'à appliquer.
Messages postés
13650
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 août 2019
376
0
Merci
Bonjour

sans ton code comment espères tu que l'on puisse t'aider?

Voir ici pour poster un code lisible
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
clairehgh
Messages postés
5
Date d'inscription
samedi 12 novembre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
-
Voici mon code:

private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                double A, B,I1, I2;
                A = Convert.ToDouble(Txt_A.Text);
                B = Convert.ToDouble(Txt_B.Text);
                               
                if (A > B)
                {
                    I1 = A - 10;
                    I2 = A + 10;
                    Txt_Résultat.Text=Convert.ToString(" Plus grand");
                    
                    
                }
                else
                {
                    if (A < B)
                    {
                        I1 = A - 5;
                        I2 = A + 5;
                        Txt_Résultat.Text = Convert.ToString(" Plus petit");
                    }
                    else
                    {
                        Txt_Résultat.Text = Convert.ToString(" Gagné ~ Voulez vous recommencer le jeu? ");
                    }
                }
            }
            catch
            {
                MessageBox.Show("les données doivent être unimériques");
            }
        }
    }
}
Messages postés
13650
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 août 2019
376
0
Merci
Maintenant que Baldaur13 a rendu ton code lisible, merci à lui, on peut travailler.

Tout d'abord, le fonctionnement actuel:
  • Convert.ToString(" Plus grand");
    (et tous les autres) la conversion en string est inutile,
    " Plus grand"
    est déjà un string
  • Dans ton catch tu pars du principe que la seule erreur possible est d'avoir tapé autre chose qu'un nombre dans les TextBox, si une autre erreur apparait ton message ne sera pas adapté.
  • Il n'y a pas de fautes d'orthographe, ce qui est suffisamment rare pour être signalé.


La suite de ton exercice:

A quoi servent I1 et I2?
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
clairehgh
Messages postés
5
Date d'inscription
samedi 12 novembre 2016
Statut
Membre
Dernière intervention
14 novembre 2016
-
Le but du site n'est-il pas d'aider? Je ne vois pas en quoi vos réponses m'aideront. Je suis en première année en e-business, ça fait seulement 2 mois que je suis les cours de programmation. Je me suis inscrite sur le site hier, désolé de ne pas trop comprendre comment m'y prendre. Merci de votre compréhension!

Concernant le Convert.ToString et le catch, c'est ce que je vois en cours donc je ne comprend pas ce que je peux apporter comme modification?

Les I1 et I2 sont une vague idée d'insérer un intervalle dans mon code mais ça ne marche pas du tout. C'est pourquoi ce que je souhaiterais c'est savoir comment donc afficher un intervalle pour obtenir ceux demandé par mon prof si dessus?

Merci!
Messages postés
13650
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 août 2019
376
-1
Merci
Je ne te remercie pas de ne pas avoir lu et appliqué la procédure de coloration syntaxique.....