Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Discussions


Index du Forum » Discussions » Pokémon
Defenseur Hors ligne Membre Points: 10 Défis: 0 Message

Pokémon

Posté le 04/03/2017 14:02

Bonjour à tous,
Je suis en pleine programmation d'un jeu Pokémon sur ma graph 35 +E et je ne comprends pas pourquoi lorsque la vie du Pokémon est inférieure ou égale à 10 ca part complètement en coui***, du genre je passe de 10 à 950 puis -5 sans problème si vous auriez une solution à ce probleme ce serait sympa.


-florian66- Hors ligne Ancien rédacteur Points: 2383 Défis: 20 Message

Citer : Posté le 04/03/2017 14:03 | #


Bienvenu,
montre nous le code où il y aurait le bug, on ne devine pas comme ça !
In Arch, I trust ! And you ?
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 04/03/2017 14:04 | #


On a effectivement besoin du code parce que là, tu nous décris le problème comme si c'était quelque chose d'unique et de connu de tous
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Defenseur Hors ligne Membre Points: 10 Défis: 0 Message

Citer : Posté le 04/03/2017 14:19 | #


ClrText
Prog "Poke"
0→S
0→A
99→V
RanInt#(3,15)→A
2→X
Lbl 0
Locate 16,3,V
Locate 19,3,"PV"
Locate 4,X,">"
Locate 5,2,"attaquer"
Locate 5,3,"défendre"
Locate 5,4,"attraper"
Locate 5,5,"fuite"
Locate 4,X," "
Getkey=37⇒X<5⇒X+1→X
Getkey=28⇒X>2⇒X-1→X
Getkey=31⇒X=5⇒Stop◢
Lbl 1
If Getkey=31 And X=2
Then V-A→S
While V≠S
V-1→V
Locate 16,3,V
WhileEnd
IfEnd
Goto 0
Goto 1


Édit Dark Storm : merci d'utiliser les balises
[/i]
Lephenixnoir En ligne Administrateur Points: 24229 Défis: 170 Message

Citer : Posté le 04/03/2017 15:25 | #


Je ne pense pas que ce soit le bug à proprement parler, mais il faut te méfier de cette boucle :
While V≠S
V-1→V
Locate 16,3,V
WhileEnd

En effet, le Locate n'assure pas que le nombre précédent sera effacé. C'est important en particulier quand le nouveau nombre est plus petit que l'ancien. Imaginons que l'adversaire ait 11 PV et qu'on l'attaque, faisant 2 points de dégâts, alors :
→ La première itération de la boucle affiche « 10 »
→ La seconde itération affiche « 9 », remplaçant le 1 sans affecter le 0
On observera donc 90 alors qu'il n'en est rien !

Par ailleurs, je ne sais pas ce que tu as voulu obtenir en écrivant :
Goto 0
Goto 1

Mais la deuxième de ces lignes n'est jamais exécutée ; le programme saute au Lbl 0 et n'atteindra jamais le Goto 1.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Defenseur Hors ligne Membre Points: 10 Défis: 0 Message

Citer : Posté le 04/03/2017 15:43 | #


D'accord merci,
Comment faire pour qu'il n'affiche pas 90 ou autre alors ?
Lephenixnoir En ligne Administrateur Points: 24229 Défis: 170 Message

Citer : Posté le 04/03/2017 15:46 | #


La méthode la plus simple à ma connaissance est d'effacer avant de réécrire :
Locate 16,3,"    "
Locate 16,3,V

Cette méthode a l'inconvénient de créer une sorte de clignotement. On pourrait faire divers calculs pour améliorer ceci, mais ce serait fatalement plus long ; tout dépend de la réactivité de ton programme et de la vitesse qu'il doit obtenir à la fin.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Defenseur Hors ligne Membre Points: 10 Défis: 0 Message

Citer : Posté le 04/03/2017 16:03 | #


Problème resolu merci beaucoup

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 101 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