Posté le 22/10/2019 20:18
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 135 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
Citer : Posté le 22/10/2019 20:33 | #
Certaines fonctions de dessin, notamment PxlOn, modifient les variables X et Y.
Solution : utilise une autre variable pour ta boucle
Citer : Posté le 22/10/2019 21:16 | #
Ah, c'est donc ceci les changements non voulus de variables...
Merci !
Edit : Je viens d'essayer mais ce n'est pas ça, j'ai utilisé les variables B, ou S à la place de la variable X, mais ça me fait le même bug, avec un changement de variable inattendu...
Ajouté le 22/10/2019 à 21:36 :
En fait, je me demande si ça se voit un edit...
J'ai essayé avec 4 variables différentes, mais ça ne change rien, d'autres idées ?
Citer : Posté le 22/10/2019 21:45 | #
Je pense que la boucle marche, mais le programme a d'autres problèmes. D'abord dans "For A→X To 20 Step 1" ta position est limitée à 20. Si tu veux que le serpent avance ce serait plutôt quelque chose comme "To A+19".
Ensuite, au moment où ta boucle redémarre, tu exécutes PxlOff 20,A et dès le début du tour suivant tu exécutes A→X (au début de la boucle) puis PxlOn 20,X. Tu ré-affiches donc le pixel que tu as effacé.
Enfin, puisque la boucle For s'arrête à 20, à la fin du premier tour de la boucle While, A est ramené à 1 par l'instruction "X-19→A", mais c'était sa valeur initiale. Ta boucle fait bien 20 tours mais comme les bornes sont incluses il faut soustraire 18 sinon A n'augmente pas.
Citer : Posté le 23/10/2019 08:06 | #
Merci, le trait avance, mais malheureusement très lentement, je pense que c'est à cause de la vitesse de la calculatrice et que je ne peux pas résoudre le problème, si ?
Citer : Posté le 23/10/2019 08:51 | #
Le programme tel qu'il est écrit ne peut pas aller plus vite, mais tu peux écrire un programme plus court qui fait la même chose.
Par exemple, actuellement tu redessines tout le serpent à chaque fois, alors qu'il suffit de dessiner le nouveau pixel noir et d'effacer le plus ancien.
Citer : Posté le 24/10/2019 09:59 | #
Oui, en effet, nouveau script, donc qui va beaucoup plus vite, merci !
Legagoux Invité
Citer : Posté le 24/10/2019 10:45 | #
Je ne sais pas si c'est ca mais je crois que lorsque tu effectue la boucle for ta variable X n'est modifie que dans cette boucle et que dans ton calcul x est donc egale a 0 et par consequent A est egale a -19. Cela n est qu une hypothese mais je pense que tu devrais verifier
Citer : Posté le 24/10/2019 10:47 | #
Avec un nouveau script, c'est modifié, mais non, la variable passait par des valeurs comme 31,41,51... (de 10 en 10, je ne lui ai jamais demandé du 10 en 10 !!)