Bonjour,
J'ai fait une sorte de mastermind sur la calculatrice donc, mais il est vraiment trop long et peut sûrement être largement amélioré. Donc je poste pour que vous me donniez quelques petits conseils svp
Pour ceux qui connaissent pas ce jeu, la calculatrice prend aléatoirement 3,4 ou 5 chiffres selon le niveau de difficulté choisi, et vous devez retrouver ces chiffres (dans le bon ordre)
J'ai fait en sorte qu'il ne puisse y avoir qu'une seul fois le même chiffre dans la série.
Il prend 3000 (octet je suppose) tout pile et c'est un peu le désordre dans les étiquettes je pense ... mais c'est comme ça que je m'y retrouve ^^
Je me lance donc :
Traduction:
-le "#" remplace le petit L de la fonction LISTE
-(t) remplace le signe TETA
S'il y a des erreur dans le code qui font que le jeu marche pas, c'est que je me suis trompé ICI et non sur le programme (qui marche parfaitement )
If A=B ou A=C ou B=C
Then
Goto 3
Else
Goto A
Lbl A
U+1->U
EffEcr
Output(3,10,"]
Output(4,8,"[
Output(4,10,"]
Output(5,8,"[
Output(5,10,"]
Disp "",""
Input " [",D
Output(4,10,"] Cette étape est obligée sinon
Output(5,8,"[ les "[" et "]" restent pas ...
Output(5,10,"]
Input " [",E
Output(5,10,"]
Input " [",F
0->(t)
0->W
If D=A
Then
W+1->W
(t)+1->(t)
End
If D=B
Then W+1->W
End
If D=C
Then
W+1->W
End
If E=A
Then
W+1->W
End
If E=B
Then
W+1->W
(t)+1->(t)
End
If E=C
W+1->W
End
If F=A
Then
W+1->W
End
If F=B
Then
W+1->W
End
If F=C
Then
(t)+1->(t)
W+1->W
End
EffEcr
If (t)=3
Then
Output(3,5,"GAGNE !
Output(4,3,"EN
Output(4,7,U
Output(4,9,COUPS
If U<#MAS(3)
Then
U->#MAS(3)
For(T,1,50
End
Output(7,2,"MEILLEUR SCORE
End
Else
Disp "TU AS
Output(1,7,"CHIFFRE(S) BON
Output(3,1,DONT
Output(3,6,(t)
Output(4,1,"BIEN PLACE(S)
PAUSE
Goto A
Lbl 4
C'est la même chose que pour le Lbl 3 mais pour 4 chiffres donc comme différences:
-Il y a la variable G en plus ainsi que la D
-C'est #MAS(4) qui est utilisé pour le score
-C'est l'étiquette B au lieu de la A
Si vous voulez quand mêmes les lignes de codes, demandez
Lbl 5
Idem que pour le Lbl 4
Différences:
-#MAS(5)
-Étiquette C
-Présence des nouvelles variables.
Lbl 6
Menu("...","BUT",K,"COMMANDES",L,"RETOUR",M
Lbl K
EffEcr
Disp " explications des règles en vitesse ..."
Pause
Goto M
LblM
Goto 1 Je sais plus pourquoi j'ai fais ça ...
Lbl Q
EffEcr
Output(1,1,"================
Output(2,1,":::MASTERMIND:::
Output(7,3,"BY 2 9 3
Output(8,1,"TITOU 1 7 2
Output(3,1,"================
Output(5,1," 3 0 7 8
Output(6,1," 4 1
PAUSE
Goto 1
Lbl L
Disp "Explications des commandes donc...."
Pause
Goto 1
FIN !!!!!!!!!!!!!!!!
J'ai donc abrégé le code qui est bien long à la longue pour les 4 et 5 chiffres
Si vous voulez quand même ... demandez j'éditerais
Les petits problème rencontrés sont:
-À chaque fois qu'on transfère ce programme d'une calculatrice à l'autre, il faut créer les 3 variables de la liste #MAS. C'est pas dur mais faut y penser, et il n'y a que moi ou quelqu'un qui sait le faire qui peut le transférer ...
-Il faut valider a chaque fois avant de rentrer un second chiffre. Beaucoup de gens n'y pensent pas (moi le premier au début ). Je sais pas si c'est possible de faire autrement après.
-Et surement d'autres petits truc pas trop trop importants mais quand même ^^
Je vous remercie donc d'avances pour vos réponses (et vous félicite d'avoir eu le courage d'aller jusqu'au bout
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 08 Jui 2009, 14:45
Désoler de te contredire mais il ne faut pas dire que les then/end sont pour deux lignes où plus mais pour deux instructions où plus car dans la même ligne tu peux mettre deux instructions:
Code
K+1->K:Goto 2 <---- il n'y a qu'une ligne mais deux instructions.
Sangohan38
Chwood Invité
Posté le : Lun 08 Jui 2009, 15:25
Ok merci beaucoup pour vos aides
Et au niveau .... du programme ... enfin sais pas comment dire ^^ y'a des façon plus simples de faire certaines choses ou ... c'est au plus simple ? (sans compter les then et end en trop et les 2 lignes à condencer chaque fois ^^)
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 08 Jui 2009, 16:34
Il y a sans doute d'autres façons d'obtenir le même résultat en utilisant moins d'octet mais comme ce programme est assez gros, il vaut mieux le créer entièrement plutôt que de chercher à le modifier.
J'essayerais de créer ma version cette semaine si je trouve le temps.