Je ne sais pas comment l'écrire correctement, mais j'ai déjà fait une grande partie, si vous pourriez m'aider
Code
entAléat(1,99) -> A
0->C
While 1
Disp A
Input B #On doit taper "+" ou "-" pour dire si A est supérieur ou inférieur à C
If (B = "+" et A>C) ou (B = "-" et B<C)
Disp "Gagné !"
If (B = "+" et A<C) ou (B = "-" et B>C)
Disp "Perdu..."
A -> C
End
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 14 Déc 2014, 22:56
Tu n'as pas dit précisément ton problème et les règles du jeu semblent différer de l'habitude donc je ne sais pas bien ce que tu veux.
Tu sembles vouloir saisir des caractères et non des nombres. Le type de variable chaîne de caractères dès la tu82stats est fait pour ça. Menu var+7.
Voici un exemple.
Code
Input "+/-:",Chaîne1
If Chaîne1="+"
Disp "+"
La fonction Input n'a pas besoin de guillemets pour les chaînes de caractères, mais Prompt en a besoin.
Tu peux utiliser une boucle qui attendra la saisie du clavier et te contenter des touches + et - plutôt qu'utiliser une saisie textuelle.
Code
Repeat K=95 ou K=85 // 95 et 85 sont les codes des touches + et -
codeTouche->K
End
If K=95 // +
Disp "+"
If K=85 // -
Disp "-"
Tu peux utiliser les alternatives. Voici un exemple basé sur ton code. Attention, le cas d'égalité qui n'était pas inclus dans tes conditions est inclus dans ma seconde partie. Il faudrait modifier les conditions ou ajouter une alternative pour le gérer.
Code
If (Chaîne1 = "+" et A>C) ou (Chaîne1 = "-" et B<C)
Then
Disp "Gagné !"
Else
Disp "Perdu..."
End
Tu devrais pouvoir rassembler mes propos pour un code final mais je suis toujours présent pour en faire plus.
J'aimerais bien que tu expliquasses un peu les règles pour que je sois sûr de ce que tu veux.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
En fait il s'agit d'afficher un nombre et de dire si celui-ci est supérieur ou inférieur au précédent. C'est trop simple à vrai dire et je chercher quelque chose de plus complexe maintenant...
Voilà comment je l'ai arrangé pour le moment :
Code
EffEcr
0->C
0->J
While J<50
entAléat(1,99->A
If A = C
A+1->A
Disp "PREMIER NOMBRE :",C,"SECOND NOMBRE :",A,"PLUS GRAND OU"
Input "PLUS PETIT ? ",Chaine1
Output(8,1,"PERDU...
If (Chaine1="+" et A>C) ou (Chaine1="-" et A<C)
Output(8,1,"GAGNE !!
A->C
J+1->J
EffEcr
Pause
End
Disp "VICTOIRE !"
Ca tient sur 229 selon ma calculatrice
Mais faudrait que je complique ce jeu mais je bloque...
Bobby Invité
Posté le : Jeu 18 Déc 2014, 7:23
Ce serait possible de mettre du "temps" pour que celui qui l'utilise joue plus rapidement ?
Par exemple
For(A,1,500)
Et si A = 500 et qu'on n'a pas encore répondu, eh bien ça compte comme une faute ?
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 18 Déc 2014, 21:48
Il n'y a aucune mesure de temps avant la 84plus donc des incréments ou des temporisation variront selon la calculatrice.
D'autre part il est impossible d'imposer une limite de rythme aux fonctions de saisies Input et Prompt. Il faudra utiliser la pression des touches avec codeTouche.
La mesure de rythme peut se faire avec For ou un incrément dans un autre type de boucle.
Code
Prompt C,A
1->W
Repeat K ou W>500
codeTouche->K
W+1->W
End
If K=0
Disp "TROP TARD
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)