Page 1 of 1

[Résolu] Envoyer vers un label défini par une variable

Unread postPosted: 22 Dec 2016, 18:58
by heolstorhof
Bonjour, je me demandais si on pouvait faire rentrer une variable pour un label, afin d'économiser de la place sur mon programme

Actuellement, j'ai fait ceci :
Code: Select all
Lbl Q
nbrAléatEnt(0,99→Q
If Q=0:Goto 0
If Q=1:Goto 1
If Q=2:Goto 2
If Q=3:Goto 3
If Q=4:Goto 4
If Q=5:Goto 5
etc ...


Est-il possible de faire un truc un peu comme ça sans que ça nous envoie vers le label M mais vers le nombre défini par M

Code: Select all
Lbl Q1
nbrAléatEnt(0,99→Q

Lbl Q2
M+1→M
If Q=M:Goto M
If Q≠M:Goto Q2


J'essaye en ce moment de faire un jeu comme Reigns (http://store.steampowered.com/app/474750/?l=french), et j'ai besoin de faire beaucoup de questions, donc beaucoup de labels, ce qui prend énormément de place (la calculatrice ne peut avoir que 1300 labels mais il m'en faut 5 par question (choix et validation de ce choix)). J'aimerai donc économiser de la place pour avoir un programme pas trop lourd pour pouvoir faire d'autres programmes par la suite.

Merci d'avance ;)

Re: Envoyer vers un label défini par une variable

Unread postPosted: 22 Dec 2016, 19:06
by critor
Non, pas de variable pour les Goto/Lbl, hélas.

Mais selon ce que tu veux faire dans les Lbl en question, on peut peut-être trouver d'autres astuces. :)

Re: Envoyer vers un label défini par une variable

Unread postPosted: 22 Dec 2016, 19:16
by clifward
Pourquoi utiliser les goto ?

Re: Envoyer vers un label défini par une variable

Unread postPosted: 22 Dec 2016, 19:43
by heolstorhof
@critor J'aimerai que si Q=1, ça aille au label 1, si Q=2, ça aille au label 2, etc, mais ça prend énormément de place et je cherchai un moyen de prendre un peu moins de place et j'ai trouvé que ça mais ça marche pas ^^

@Clifward pour aller à mes labels

Re: Envoyer vers un label défini par une variable

Unread postPosted: 22 Dec 2016, 19:59
by critor
Thelzz wrote:@critor J'aimerai que si Q=1, ça aille au label 1, si Q=2, ça aille au label 2, etc, mais ça prend énormément de place et je cherchai un moyen de prendre un peu moins de place et j'ai trouvé que ça mais ça marche pas ^^


Pas de moyen d'optimiser ce comportement.

Mais par contre, selon ce que tu as l'intention de faire dans les Lbl, il peut être possible d'économiser beaucoup de lignes et codant ça autrement.

Re: Envoyer vers un label défini par une variable

Unread postPosted: 22 Dec 2016, 22:59
by heolstorhof
Pour l'instant j'ai fait ça
Code: Select all
Lbl B1
getKey→K
If K=24:Goto B3:If K=26:Goto B2:If K≠24 et K≠26:Goto B1

Lbl B3
Ligne(39,29,41,29,BLANC:Ligne(39,27,41,27,BLANC:Ligne(278,30,282,30,12:Ligne(278,28,282,28,12:Ligne(278,26,282,26,12
getKey→K
If K=105:Goto B5:If K=26:Goto B2:If K≠105 et K≠26:Goto B3

Lbl B2
Ligne(279,29,281,29,BLANC:Ligne(279,27,281,27,BLANC:Ligne(38,30,42,30,12:Ligne(38,28,42,28,12:Ligne(38,26,42,26,12
getKey→K
If K=105:Goto B4:If K=24:Goto B3:If K≠105 et K≠24:Goto B2


Les labels B4 et B5 feront juste augmenter et diminuer des scores

Re: Envoyer vers un label défini par une variable

Unread postPosted: 23 Dec 2016, 01:17
by warrior6217
j'ai une question est qu'on peut mettre plus de 2 symbole dans un Lbl : au lieu de Lbl 1A faire Lbl 150 ?

Re: Envoyer vers un label défini par une variable

Unread postPosted: 23 Dec 2016, 01:29
by critor
Non :(

Re: Envoyer vers un label défini par une variable

Unread postPosted: 23 Dec 2016, 23:16
by heolstorhof
Peut on mettre un if then dans un autre if then ? (comme ça)
Code: Select all
Lbl 1
If K=105
Then
P+5
If P=5
Then
P+5
Goto 1
End
If P=10
Then P+5
Goto 2
End
End

Re: Envoyer vers un label défini par une variable

Unread postPosted: 23 Dec 2016, 23:30
by critor
Oui, aucun problème. :)