Créer un jeu

Fermé
clairehgh Messages postés 4 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 14 novembre 2016 - 12 nov. 2016 à 10:28
 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
A voir également:

4 réponses

Utilisateur anonyme
13 nov. 2016 à 23:04
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)

1
clairehgh Messages postés 4 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 14 novembre 2016
14 nov. 2016 à 09:49
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 :)
0
Utilisateur anonyme
14 nov. 2016 à 21:02
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.
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 928
12 nov. 2016 à 11:51
Bonjour

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

Voir ici pour poster un code lisible
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
clairehgh Messages postés 4 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 14 novembre 2016
Modifié par baladur13 le 12/11/2016 à 13:38
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");
            }
        }
    }
}
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 928
Modifié par Whismeril le 12/11/2016 à 14:01
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
0
clairehgh Messages postés 4 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 14 novembre 2016
13 nov. 2016 à 11:41
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!
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 928
12 nov. 2016 à 13:26
Je ne te remercie pas de ne pas avoir lu et appliqué la procédure de coloration syntaxique.....
-1