Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Pile ou face
ToTo le 07/11/2008 à 16:53
Salut,
J'ai un p'tit problème avec un programme que je n'arrive pas à faire fonctionné.
J'ai déjà regarder les autres sujets sur le jeu "pile ou face" mais je n'y est pas trouvé mon bonheur.
Je vous copie le mien:
Code
ClrDraw
Circle(0,0,6
For(A,1,27
Text(26,A," PILE"
End
For(B,80,54,(-)1
Text(26,B,"FACE "
End
For(C,1,35
Text(C,44,"OU"
End
Text(25,46,"?"
Pause
Lbl C
Menu(" PILE OU FACE","LA CHANCE ?!",A,"PEURREUX!",B
Lbl B:Stop
Lbl A
ClrHome
Input "PILE:1 OU FACE:2",A
int(rand2+1->B
If A=1 and B=1:Output(4,1,"GAGNE'!":
If A=2 and B=2:Output(4,1,"GAGNE'!":
If A=1 and B=2:Output(4,1,"PERDU!":
If A=2 and B=1:Output(4,1,"PERDU!":Pause
Goto C
Je ne comprends pas ce qui ne va pas. C'est un erreur bizarre. Ce n'est pas de mon niveau. xD
Alors dites moi si c'est tout faux, si c'est tout a refaire ou juste si il y a un petit problème.

coc5 le 08/11/2008 à 00:38
A première vue il n'y aurait pas d'erreur... Mais si tu nous disais où t'envoie le programme à l'erreur, et quel type d'erreur est signalée...
En revanche, ton code peut être amélioré !
Ici surtout :
Code
If A=1 and B=1:Output(4,1,"GAGNE'!":
If A=2 and B=2:Output(4,1,"GAGNE'!":
If A=1 and B=2:Output(4,1,"PERDU!":
If A=2 and B=1:Output(4,1,"PERDU!":Pause
Remplace-le par ça :
Code
ClrHome
If A=B:Output(4,1,"GAGNE !
If A-B:Output(4,1,"PERDU !
Pause
ToTo le 08/11/2008 à 13:50
Citation
A première vue il n'y aurait pas d'erreur... Mais si tu nous disais où t'envoie le programme à l'erreur, et quel type d'erreur est signalée...
Il m'envoie à:
Code
:For(A,1,27
:Texte(26,A,"PILE" (il me place le curseur à la fin de cette ligne)
Et pour ce que tu me propose, c'est pas mal ( lol respect

), ça fais gagné pas mal de place.
Mais je ne comprends pas le signe - entre A et B dans cette ligne:
Code
If A-B:Output(4,1,"PERDU !
webmaster le 08/11/2008 à 14:32
Salut,
Remplace ce "-" par le symbole "Différent de".
@+ Le Webmaster

ToTo le 08/11/2008 à 18:33
Ok, j'ai compris. Merci

ToTo le 08/11/2008 à 19:01
Ça marche enfin !
Cependant, j'aimerai y ajouté une modification, si cela est possible.
Je m'explique: quand on lance le programme on a "PILE", "OU", "FACE" et "?" qui s'affiche en ce déplacent, mais en ce déplacent le "PILE" laisse les pixels noirs derrière lui.
Peut-on y faire quelque chose ?

Sangohan38 le 08/11/2008 à 19:49
Met un espace apès le "pile" comme ça, tu dessinera un esace donc effacera les pixels.
Sangohan38ToTo le 08/11/2008 à 19:54
Je ne sais pas si il faut mettre :
ou
Mais ça ne change rien.
coc5 le 08/11/2008 à 19:59
L'espace est à mettre avant.ToTo le 08/11/2008 à 20:57
J'y étais presque. xD Merci.
Ça marche normalement !
Je remet le programme ( modifié ) pour ceux que ça intéresse. (233 bits)
Code
EffEcr
Cercle(0,0,6
For(A,1,25
Text(26,A," PILE"
End
For(B,80,54,(-)1
Text(26,B,"FACE "
End
For(C,1,35
Text(C,44,"?"
End
Text(25,44,"OU"
Pause
Lbl C
Menu(" PILE OU FACE","LA CHANCE ?!",A,"CIAO",B
Lbl B
Stop
Lbl A
EffEcr
Input "PILE:1 OU FACE:2",A
partent(NbrAléat+1->B
EffEcr
If A=B
Output(4,1,"GAGNER !
If A-B
Output(4,1,"PERDU..
Le signe - est le signe "différent de" !
Merci de m'avoir aidé.
ToTo le 11/11/2008 à 10:40
En fait, je me suis aperçu qu'il ne fonctionne pas normalement.
Je vous le renvoie quand j'aurai fini de refaire la fin.coc5 le 11/11/2008 à 10:59
La génération du nombre aléatoire est mauvaise. En effet NbrAlea est compris entre 0 et 0.99999999[...]
Donc 1 + NbrAlea sera compris entre 1 et 1.999999999[...]
Et la partie entière sera donc toujours de 1 !
Fait 2NbrAlea+1, là ça va marcher

ToTo le 11/11/2008 à 11:00
Ralala...
Maintenant j'ai une "ERR:ETIQUETTE", je ne sais pas ce que c'est, on peu me dire quel est le problème ?

coc5 le 11/11/2008 à 11:04
N'ayant pas de Ti "française" je ne suis pas sur de l'erreur... Peux-tu me dire où elle se trouve ?ToTo le 11/11/2008 à 11:09
Ah je n'avais pas vu ce post :
Citation
La génération du nombre aléatoire est mauvaise. En effet NbrAlea est compris entre 0 et 0.99999999[...]
Donc 1 + NbrAlea sera compris entre 1 et 1.999999999[...]
Et la partie entière sera donc toujours de 1 !
Fait 2NbrAlea+1, là ça va marcher
Bon bah j'essaie.
coc5 le 11/11/2008 à 11:12
En refléchissant un peu j'ai déduit que ERR:ETTIQUETTE était du à un problème... d'étiquettes
Non mais en fait, le problème vient de tes Lbl. Regarde si tu n'as pas supprimé Lbl A ou Lbl B en modifiant ton programme.
ToTo le 11/11/2008 à 11:26
C'est bon j'ai remis comme c'était donc pour le porblème d'étiquette on oublie
pour le moment. Parce ce que tu m'as dis de faire ne fonctionne pas.

Je perdu tous le temps.
Es-ce que cette ligne veux dire que tu choisie 2 nombres aléatoires et que tu y rajoute 1 ? J'ai pas compris, j'ai besoin d'explication.
Cependant j'ai pensé à mettre ce code:
Ça peut fonctionner avec ça ?
coc5 le 11/11/2008 à 12:23
En fait je voulais dire partEnt(2NbrAlea + 1) ! Sinon tu as une chance sur 2x10^14 d'avoir le bon résultat
Et c'est randInt(1,2) sinon tu n'auras jamais face x_X (soit pile (1) soit rien (0) )
Préfère la première solution comme ça ton code est comptable avec les Ti82.
ToTo le 11/11/2008 à 20:34
Bon voilà nikel, ça marche !
Voilà le résultat final:
Pile ou face (225 bits)
Code
EffEcr
Cercle(0,0,6
For(A,1,25
Text(26,A," PILE
End
For(B,80,54,(-)1
Text(26,B,"FACE
End
For(C,1,35
Text(C,44,"?
End
Text(25,44,"OU
Pause
Lbl C
Menu(" PILE OU FACE","LUCK",A,"BYE",B
Lbl B
Stop
Lbl A
EffEcr
Input "PILE:1 OU FACE:2",A
partEnt(2NbrAléat+1)->B
EffEcr
If A=B
Output(4,1,"WIN !
If A-B
Output(4,1,"LOSE..
mael-ti le 10/03/2009 à 11:53
Merci mais je conseil de mettre
avant tout le programme sinon tout vos dessin ou graphique s'aficheront en même temps.
Il y a aussi quelque bug que je ne comprend pas

mais bon c'est déjà sa (tkt je critique mais je ne fait pas le 100eme de toi en programmation c'est juste des conseils!)
mael-ti
PS: tu as mis LOSE pour si on pert... mais on dit LOOSE en anglais! ^^
oranjules le 10/03/2009 à 16:43
non c'est bien lose :p
moi j'ai pas essayé ce programme perso... j'ai ma machine a sous
le conseil de mael ti est effectivement très utile, par contre, si tu veux de l'aide, dis nous ou ca bug, et quel type d'erreur ca affiche !
Sangohan38 le 10/03/2009 à 19:54
Dans le même genre, mieux vaut mettre GraphOff dans ce cas sinon on affiche aussi les graphiques des fonctions.
Sangohan38mael-ti le 12/03/2009 à 09:18
C'est ou GraffOff ?

Sangohan38 le 14/03/2009 à 15:01
Je me suis tromper, c'est FnOff.
Tu le trouvera dans le catalogue.
Sangohan38mael-ti le 17/03/2009 à 11:23
ok merci mais c'est bien LOOOSE ! c'est ma prof d'anglais qui me l'a dit!oranjules le 22/03/2009 à 15:30
ah bah oui au participe passé ca doit etre loose...
PS : tu demandes a ta prof d'anglais des traductions pour des programmes de calculette ? :p
NB : a la base le sujet était quand meme un programme donc oui je me suis planté et on ferme la conversation ^^amine le 16/09/2009 à 00:27
C'est où la touche

de la calculette ?
amine le 16/09/2009 à 00:27
C'est où la touche ( - ) de la calculette ? DésoléSangohan38 le 19/09/2009 à 15:02
J'ai envie de te dire qu'il faut apprendre à lire un en-tête avant de poster: c'est marquer dans la FAQ et dans le sujet "fonctions TI-83".
Sangohan38 Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.