Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 541
Réponses : 4
Type : discussion
Etat : réponses autorisées

Aide Slalom

xDreams le 12/11/2011 à 16:03
Salut salut ! happy.gif
Alors cette fois-ci, j'aimerais savoir comment faire lorsque:
-On perd, on retourne automatiquement au menu source pour rejouer, et pas devoir relancer le prog...
-On va dans "Instructions", et qu'on appuie sur "Entrer", on puisse retourner au menu source...

Voilà le programme d'un certain "Maxime" ( https://jeuxti82.pages-perso.free.fr/Tutorial.html ),
modifié par mes soins :

Code
3ü ( ) dim(áSCORE
ClrHome
Disp "SLALOM V1.0","-----------
Output(4,1,"MODIFIE PAR DREAMS-TI
Pause
ClrHome
Menu("SLALOM V1.0","JOUER",J,"INSTRUCTIONS",I,"QUITTER",Q
Lbl J
ClrHome
Output(3,6,"PRET ?
For(T,0,400
End
Output(3,5,"PARTEZ !
For(T,0,300
End
ClrHome
0ü ( ) A
0ü ( ) S
0ü ( ) V
0ü ( ) X
0ü ( ) B
0ü ( ) K
4ü ( ) A
0ü ( ) S
3ü ( ) V
Lbl 0
ClrHome
Output(1,1,"SCORE:
Output(2,1,S
round(7rand+1,0ü ( ) X
If Xø1
Output(X-1,8,"+
If Xø8
Output(X+1,8,"+
16ü ( ) B
Lbl 1
Output(A,B,"=
B-1ü ( ) B
getKeyü ( ) K
If (K=105 or K=25 and Aø1
A-1ü ( ) A
If (K=104 or K=34 and Aø8
A+1ü ( ) A
If A=X and B=8
S+1ü ( ) S
If AøX and B=8
Then
ClrHome
Disp "","TU AS LOUPE","UNE PORTE !","SCORE:
Output(4,8,S
Sü ( ) L(4
SortD(L
3ü ( ) dim(L
(ln((8L+Ä/2Ü^3/log(ëÜ-Ä+3ü ( ) áSCORE
Disp "RECORDS:",L
Pause
ClrHome
Goto Q
End
If B=1
Goto 0
Goto 1
Goto 0
Lbl I
Output(1,2,"DIRIGE TOI AVEC
Output(2,3,"HAUT/BAS ET
Output(3,1,"PASSE ENTRE LES
Output(4,6,"PORTES
Output(8,1,"[RETOUR]
Pause
If (K=105
Then
ClrHome
Goto 0
End
ClrHome
Lbl Q
Pause
Output(4,2,"(C).MAXIME
Pause
ClrHome


Merci par avance de votre aide ! bigmouth.gif
linkakro le 12/11/2011 à 17:08
Ce que tu veux faire se réalise en ajoûtant ou remplaçant des goto et Lbl aux bons endroits.

Code
3ü ( ) dim(áSCORE
ClrHome
Disp "SLALOM V1.0","-----------
Output(4,1,"MODIFIE PAR DREAMS-TI
Pause

Lbl 3    // ajoûté

ClrHome
Menu("SLALOM V1.0","JOUER",J,"INSTRUCTIONS",I,"QUITTER",Q
Lbl J
ClrHome
Output(3,6,"PRET ?
For(T,0,400
End
Output(3,5,"PARTEZ !
For(T,0,300
End
ClrHome
0ü ( ) A
0ü ( ) S
0ü ( ) V
0ü ( ) X
0ü ( ) B
0ü ( ) K
4ü ( ) A
0ü ( ) S
3ü ( ) V
Lbl 0
ClrHome
Output(1,1,"SCORE:
Output(2,1,S
round(7rand+1,0ü ( ) X
If Xø1
Output(X-1,8,"+
If Xø8
Output(X+1,8,"+
16ü ( ) B
Lbl 1
Output(A,B,"=
B-1ü ( ) B
getKeyü ( ) K
If (K=105 or K=25 and Aø1
A-1ü ( ) A
If (K=104 or K=34 and Aø8
A+1ü ( ) A
If A=X and B=8
S+1ü ( ) S
If AøX and B=8
Then
ClrHome
Disp "","TU AS LOUPE","UNE PORTE !","SCORE:
Output(4,8,S
Sü ( ) L(4
SortD(L
3ü ( ) dim(L
(ln((8L+Ä/2Ü^3/log(ëÜ-Ä+3ü ( ) áSCORE
Disp "RECORDS:",L
Pause

Goto 3  // remplacé

End
If B=1
Goto 0
Goto 1

Goto 0  // supprimmé car innutile

Lbl I
Output(1,2,"DIRIGE TOI AVEC
Output(2,3,"HAUT/BAS ET
Output(3,1,"PASSE ENTRE LES
Output(4,6,"PORTES
Pause

Goto 3    // remplacé

Lbl Q
Pause
Output(4,2,"(C).MAXIME
Pause
ClrHome


Encore une chose : le premier goto 3 est entre un Then et un End.
Ce n'est pas une bonne chose mais dans ce programme cela ne se remarque pas.
xDreams le 12/11/2011 à 18:22
Ok merci bien ! happy.gif

________________________________________________________________________________

EDIT: Dès que je lance la partie ca quitte direct ...
The K le 12/11/2011 à 18:51
Dès que tu lances ... ? Tu as bien placé les ajouts de linkakro aux bons endroits ... ou ça plantait déja avant ?
xDreams le 12/11/2011 à 19:22
Bah oui j'ai bien remplacé et non avant sa plantait pas quand le jeu commencait (après le menu quand les skis aparaissent)

--------------------------------------
EDIT: Petite erreur de ma part: il y avait un goto Q en trop lol désolé ! happy.gif