Gamme TI-82
Partager sur Facebook Fil RSS Imprimer la page
Cacher les résultats

Résultat de la recherche



Poster un nouveau sujet Poster une réponse
Jeu du PLUS/MOINS
Auteur Message
Metalmaniaxx



Autorisation : Membre
Nb de messages : 2
Inscrit le : Mar 23 Mai 2017, 10:23
Posté le : Mar 23 Mai 2017, 10:50   Citer 

Bonjour,
j'ai fait un programme sur ma TI83 pour le jeu du plus ou du moins, je suis ouvert à toute critique, tant qu'elle est constructive.
Enjoy !


Code
ClrHome
Disp "ENTRER UN NOMBRE"
Disp "ENTRE 1 ET 1000"
Disp "VOUS AVEZ 10"
Disp "ESSAIS"
randInt(1,1000)->N
0->A
0->I
While A=0 and I =!10 //Je n'ai pas trouvé le symbole "différent" sur clavier
Input "NOMBRE :",P
If P=N
Then
1->A
Else
If P>N
Then
Disp "C EST MOINS"
Else
Disp "C EST PLUS"
End
End
I+1->I
End
If I<10
Then
Disp "BRAVO",N
Disp "NBRE ESSAIS",I
Else
Disp "PERDU"
Disp "LE NOMBRE A"
Disp "DEVINER ETAIT",N



----------------------
Metalmaniaxx
 Adresse email Haut de page Bas de page 
 
Homer_Dalor



Autorisation : Membre
Nb de messages : 16
Inscrit le : Sam 22 Avr 2017, 16:00
Posté le : Mar 23 Mai 2017, 11:46   Citer 

Salut à toi !

Aaaah, le plus ou moins <3 LE premier programme à faire quand on se lance :3
Ca me rappelle tellement de souvenirs happy.gif

Bref, pour progresser, rien de mieux que de montrer son travail aux gens et d'attendre les critiques, ainsi que les améliorations ! Je commence donc.
(Si jamais il y a quelque chose que j'explique mal, n'hésite pas à me redemander <3)


Code
Disp "ENTRER UN NOMBRE"
Disp "ENTRE 1 ET 1000"
Disp "VOUS AVEZ 10"
Disp "ESSAIS"



Il faut savoir que tu peux tout mettre dans un seul Disp, en séprant tes phrases avec une virgule. De plus, à la fin d'une ligne ou avant un sto (->) Tu n'as pas besoin de fermer les guillemets ou de fermer une parenthèse.
Le code sera donc ici :


Code
Disp "ENTRER UN NOMBRE","ENTRE 1 ET 1000","VOUS AVEZ 10","ESSAIS



********************************************************


Code
randInt(1,1000)->N
0->A
0->I



Ici, tu peux remplacer les "0->Variable" par "Effvar Variable, sachant qu'après cette ligne tu n'as pas besoin de passer une ligne, tu peux tout simplement mettre directement à la suite la prochaine. (Fais tout de même attention avec un début de boucle, ça peut faire n'importe quoi. Ici donc ton code donnera :


Code
EffVar AEFFvar IrandInt(1,1000->N   //toujours la parenthèse qu'on peut enlever avant un sto (->)



**********************************************************


Code
While A=0 and I =!10 //Je n'ai pas trouvé le symbole "différent" sur clavier



Pourquoi au lieu d'utiliser la variable A, tu ne lui demande pas tout simplement "Si P=N"?
Il y a une fonction qui permet de lire une fois la boucle avant de regarder la condition d'arrêt. Cette fonction s'appelle Repeat. Pour savoir quoi mettre dedans, il faut se dire : "La fonction Répète le code jusqu'à ce que..." Donc ici, ce ne sera pas "tant que", "P!=N and I =!10" devient donc "P=N ou I =10".
Du coup, pas besoin de variable A, ni d'initialiser la Variable P. Le début de ton code devient donc :


Code
ClrHome
Disp "ENTRER UN NOMBRE","ENTRE 1 ET 1000","VOUS AVEZ 10","ESSAIS
EffVar IrandInt(1,1000->N
Repeat P=N or I =10



******************************************************************


Code
If P=N
Then
1->A
Else
If P>N
Then
Disp "C EST MOINS"
Else
Disp "C EST PLUS"
End
End



Ici, il faut savoir qu'après un If, tu n'as pas besoin de Then et End si il n'y a qu'une seule ligne à executer.
Du coup, le code devient, en enlevant aussi le If P=N vu qu'on l'a mis dans la boucle Repeat winkle.gif :


Code
If P>N
Disp "C'EST MOINS
If P<N
Disp "C'EST PLUS




************************************************************

Pour la fin de ton programme, attention, tu n'as pas mis de End pour fermer le If/then, ici ça ne posera pas de problème comme c'est la fin du programme, mais ça peut gêner si tu commences à le modifier, par exemple en mettant un menu winkle.gif

Tu peux comme avant rassembler les Disp :


Code

If I<10
Then
Disp "BRAVO",N,"NBRE ESSAIS",I
Else
Disp "PERDU","LE NOMBRE A","DEVINER ETAIT",N
End



************************************************************

Au final le code entier ressemble à ceci :


Code
ClrHome
Disp "ENTRER UN NOMBRE","ENTRE 1 ET 1000","VOUS AVEZ 10","ESSAIS
EFFvar IrandInt(1,1000->N
Repeat P=N or I =10
Input "NOMBRE :",P
If P>N
Disp "C'EST MOINS
If P<N
Disp "C'EST PLUS
I+1->I
End
If I<10
Then
Disp "BRAVO",N,"NBRE ESSAIS",I
Else
Disp "PERDU","LE NOMBRE A","DEVINER ETAIT",N
End




Voilà voilà, j'espère t'avoir appris quelques techniques pour commencer, n'hésite pas à améliorer ton programme, rajouter un menu, demander au joueur entre quel nombre et quel nombre il veut rechercher, mettre un menu Facile, moyen difficile, avec un nombre plus grand et/ou moins de vie, etc winkle.gif
Et hésite pas non plus à poster tes programmes sur le forum <3

 Adresse email Haut de page Bas de page 
 
Mingerton



Autorisation : Modérateur global
Nb de messages : 492
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Mar 23 Mai 2017, 23:59   Citer 

Tu as juste oublié l'incrémentation de I, sinon l'algorithme ne se termine pas. Sinon ok pour l'optimisation

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Tutoriel TI Basic
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Homer_Dalor



Autorisation : Membre
Nb de messages : 16
Inscrit le : Sam 22 Avr 2017, 16:00
Posté le : Mer 24 Mai 2017, 0:31   Citer 

Oups, effectivement, je me suis pas relu sur le code^^

C'est corrigé :3 <3

 Adresse email Haut de page Bas de page 
 
Ruadh



Autorisation : Membre
Nb de messages : 29
Inscrit le : Ven 06 Nov 2015, 14:08
Posté le : Sam 01 Juil 2017, 14:17   Citer 

Je remonte un peu le sujet, mais il y a une erreur dans le code d'Homer_Dalor. Si on trouve le nombre au dixième essai, on obtient "perdu". Pour corriger ça, il faut remplacer cette ligne :


Code
If I<10



par celle-là :


Code
If N=P



 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2017 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink
 

Site hébergé par Free Page sous licence creative commons Page validée par le W3C (XHTML 1.0 Transitional) Feuille de style validée par le W3C Flux RSS 2.0 valide Page étiquetée par l'ICRA Page testée par Ocawa