Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Gros problème de goto !
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Gros problème de goto !

Posté le 01/10/2014 18:29

Mon programme m'affiche GOTO ERROR et je ne vois pas pourquoi. Un peu d'aide svp
La boucle ou il y a le goto (a la fin)
While 1Ù
List 4[1]>9999999999×9999999999ãList 4[1]Ù
Locate 1,2,List 4[1]Ù
Locate 20,1,List 4[2]Ù
Locate 20,2,List 4[3]Ù
Locate 20,3,List 4[4]Ù
Locate 20,4,List 4[5]Ù
Locate 20,5,List 4[6]Ù
Locate 20,6,List 4[7]Ù
Getkey=78 Or Getkey=31×List 4[1]+1ãList 4[1]Ù
If Getkey=79 And List 4[1]>99 And List 4[2]È3Ù
Then List 4[1]-100ãList 4[1]Ù
List 4[2]+1ãList 4[2]Ù
Goto 1Ù
IfEndÙ
If Getkey=69 And List 4[1]>499 And List 4[3]È3Ù
Then List 4[1]-500ãList 4[1]Ù
List 4[3]+1ãList 4[3]Ù
Goto 1Ù
IfEndÙ
If Getkey=59 And List 4[1]>2999 And List 4[4]È3Ù
Then List 4[1]-3000ãList 4[1]Ù
List 4[4]+1ãList 4[4]Ù
Goto 1Ù
IfEndÙ
If Getkey=49 And List 4[1]>9999 And List 4[5]È3Ù
Then List 4[1]-10000ãList 4[1]Ù
List 4[5]+1ãList 4[5]Ù
Goto 1Ù
IfEndÙ
If Getkey=39 And List 4[1]>49999 And List 4[6]È3Ù
Then List 4[1]-50000ãList 4[1]Ù
List 4[6]+1ãList 4[6]Ù
Goto 1Ù
IfEndÙ
If Getkey=29 And List 4[1]>199999Ù
Then List 4[1]-200000ãList 4[1]Ù
List 4[7]+1ãList 4[7]Ù
Goto 1Ù
IfEndÙ
List 4[1]+1ÀList 4[2]ãList 4[1]Ù
List 4[1]+3ÀList 4[3]ãList 4[1]Ù
List 4[1]+6ÀList 4[4]ãList 4[1]Ù
List 4[1]+15ÀList 4[5]ãList 4[1]Ù
List 4[1]+30ÀList 4[6]ãList 4[1]Ù
List 4[1]+50ÀList 4[7]ãList 4[1]Ù
List 4[1]+60ÀList 4[16]ãList 4[1]Ù
List 4[1]+75ÀList 4[17]ãList 4[1]Ù
List 4[1]+100ÀList 4[18]ãList 4[1]Ù
List 4[1]+125ÀList 4[19]ãList 4[1]Ù
List 4[1]+150ÀList 4[20]ãList 4[1]Ù
List 4[1]+200ÀList 4[21]ãList 4[1]Ù
List 4[1]+2ÀList 4[9]ãList 4[1]Ù
List 4[1]+4.5ÀList 4[17]ãList 4[1]Ù
List 4[1]+8.5ÀList 4[18]ãList 4[1]Ù
List 4[1]+17ÀList 4[19]ãList 4[1]Ù
List 4[1]+22.5ÀList 4[20]ãList 4[1]Ù
List 4[1]+40ÀList 4[21]ãList 4[1]Ù
If Getkey=47Ù
Then ClrTextÙ
Locate 1,1,"Partie sauvegard#E60Ae"Ù
Locate 6,4,"A bient#E615t ·!·"Ù
StopÙ
IfEndÙ
List 4[1]<500×"On veut des cookies ·!·"ãStr 3Ù
500<List 4[1] And List 4[1]<3000×"Allez mamie ·!·        "ãStr 3Ù
3000<List 4[1] And List 4[1]<10000×"On mine le choco ·!·   "ãStr 3Ù
10000<List 4[1] And List 4[1]<50000×"Industrie de cookies·!·"ãStr 3Ù
50000<List 4[1] And List 4[1]<200000×"Vitesse lumi#E609re ·!·    "ãStr 3Ù
200000<List 4[1]×"Merci M. le g#E60Anie ·!·  "ãStr 3Ù
Locate 1,7,Str 3Ù
If List 4[7]>0 And List 4[8]È1Ù
Then ClrTextÙ
"Le g#E60Anie vous a donn#E60Ales cl#E60As du magasin, appuie sur OPTN pour y acc#E60Ader."Ø
ClrTextÙ
"Dans le magasin      appuie sur ALPHA pouravoir plus d'infos."Ø
Ù
1ãList 4[8]Ù
Goto 1Ù
IfEndÙ
If Getkey=68 And List 4[8]=1Ù
Then Goto 3Ù
IfEndÙ
//C'est le goto qui suit qui beug :(
If Getkey=58 And List 4[15]=1Ù
Then Goto 4Ù
IfEndÙ
WhileEnd

Et le lbl
Lbl 4Ù
ClrTextÙ
Locate 5,1,"= Magasin ="Ù
Locate 1,2,"Tite machine 300 C"Ù
Locate 1,3,"Lapin       1700 C"Ù
Locate 1,4,"Arbre       5000 C"Ù
Locate 1,5,"Voleur     13000 C"Ù
Locate 1,6,"Super four 30000 C"Ù
Locate 1,7,"Usine V2  100000 C"Ù
While 1Ù
Locate 21,3,List 4[9]Ù
Locate 21,4,List 4[10]Ù
Locate 21,5,List 4[11]Ù
Locate 21,6,List 4[12]Ù
Locate 21,7,List 4[13]Ù
Locate 21,2,List 4[14]Ù
Getkey=47×Goto 1Ù
If Getkey=69 And List 4[1]>1699 And List 4[9]È3Ù
Then List 4[1]-1700ãList 4[1]Ù
List 4[9]+1ãList 4[9]Ù
Goto 4Ù
IfEndÙ
If Getkey=59 And List 4[1]>4999 And List 4[10]È3Ù
Then List 4[1]-5000ãList 4[1]Ù
List 4[10]+1ãList 4[10]Ù
Goto 4Ù
IfEndÙ
If Getkey=49 And List 4[1]>12999 And List 4[11]È3Ù
Then List 4[1]-13000ãList 4[1]Ù
List 4[11]+1ãList 4[11]Ù
Goto 4Ù
IfEndÙ
If Getkey=39 And List 4[1]>29999 And List 4[12]È3Ù
Then List 4[1]-30000ãList 4[1]Ù
List 4[12]+1ãList 4[12]Ù
Goto 4Ù
IfEndÙ
If Getkey=29 And List 4[1]>99999 And List 4[13]È3Ù
Then List 4[1]-100000ãList 4[1]Ù
List 4[13]+1ãList 4[13]Ù
Goto 4Ù
IfEndÙ
If Getkey=79 And List 4[1]>299 And List 4[14]È3Ù
Then List 4[1]-300ãList 4[1]Ù
List 4[14]+1ãList 4[14]Ù
Goto 4Ù
IfEndÙ
WhileEnd

Merci de votre aide car c'est un élément essentiel du jeu (un jeu (presque de gestion) sans magasin vous avez vu ça ou vous ?)


Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

Citer : Posté le 01/10/2014 18:31 | #


Salut, tu utilise beaucoup (beaucoup trop !) de goto,c'est mauvais pour le jeu :/ Après je ne vois pas d'erreur visible désolé :/
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 01/10/2014 18:33 | #


Oui je sais que c'est mauvais mais je ne sais pas faire autrement et pourquoi ça marche pas si il ya pas d'erreur ?
Kirafi Hors ligne Membre Points: 2175 Défis: 10 Message

Citer : Posté le 01/10/2014 19:01 | #


Vérifie si tu n'as bien qu'un seul Lbl 4 dans le programme , sinon après je sais pas pourquoi ça plante, mais aussi, il faut éviter d'utiliser les Goto/Lbl dans des boucles et des conditions If/Then/Ifend, à la limite tu peux les utiliser dans des conditions simple (avec la double flèche, exemple : "Getkey=31⇒Goto 0")
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 01/10/2014 19:02 | #


Oki pour la double flèche et j'ai vérifié si il n'y avait pas d'autre lbl 4 et bien non il n'y en a pas

Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 01/10/2014 19:36 | #


aaaaaargh ! tout ces lbl non sinon le lbl error est peut etre une conséquence du fait que tu quitte en plein milieu d'un if donc il ne voit pas le ifend donc de toute maniere si tu continues ca va planter et puis au lieu de ca :
If Getkey=58 And List 4[15]=1
Then Goto 4
IfEnd
met plutot ca :
Getkey=58 And List 4[15]=1⇒Goto 4
et la ca marchera PEUT ETRE mais attention si cela ne te la résout pas ca résoud un prbm que tu rencontreras plus tard
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 01/10/2014 19:39 | #


J'avais déjà mis ça avant c'était d'ailleurs mon tout 1er choix mais cela ne fonctionne quand même pas. J'ai même cru que c'était à cause cette syntaxe que cela plantait . Mais si ce n'est pas ça c'est quoi ?
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 01/10/2014 19:41 | #


met :
Getkey=58 And List 4[15]=1⇒Break
WhileEnd
Goto 4

Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 01/10/2014 19:43 | #


Si on conseille d’éviter les lbl, c'est aussi parce qu'ils sont instables : si le programme est trop gros, ils buguent.
Pour résoudre cela, fractionne ton programme en sous-programme, et évite a tout prix les lbl.

lbl/goto = le mal et doivent être évité à tout prix
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 01/10/2014 19:44 | #


Je sais pour les sous-prog mais je n'aime pas du tout et je test ton idée darkysun

Edit @Darkysun Ca me met syntaxe error
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 01/10/2014 19:50 | #


comment ca ? au lieu de ca :
If Getkey=58 And List 4[15]=1
Then Goto 4
IfEnd
WhileEnd
tu as bien mis ca ? :
Getkey=58 And List 4[15]=1⇒Break
WhileEnd
Goto 4

Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 01/10/2014 19:53 | #


oui mais je pense que c'est a cause du retour a la ligne ça prend plus en compte la condition ou un truc comme ça


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 88 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd