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 - Autres questions


Index du Forum » Autres questions » Mon Snake est très lent
Pingu Hors ligne Membre Points: 15 Défis: 5 Message

Mon Snake est très lent

Posté le 26/11/2008 21:02

Bonjour,

Je suis en train de créer un Snake sur ma graph 35+ mais il est très lent.

Pour l'instant j'en suis vraiment qu'au début, je peux juste créer un snake avec un certain nombre de "particules" et le bouger.
Je ne peux pas vous donner le code source mais voila comment ça se passe dans mon programme:

Initialisation de quelques variables et d'une matrice
While 1 (début de la boucle)
Réception de la touche (getkey)
Ajustation de la valeur reçue (ex: si on appuie sur EXE ou 7 rien ne se passe, ya quelque chose que si on appuie sur une des flèches, et faire en sorte que si les coordonnées sortent de l'écran, qu'elles apparaissent de l'autre coté)
Effacement de l'écran
Affichage des particules du snake
WhileEnd (fin boucle)


J'ai repérer l'endroit qui est vraiment lent c'est au niveau de l'affichage de chaque particule.
Voila le morceau de code:

For 1->X to P
If X<P
Then Mat A[X+1,1]->Mat A[X,1]
Mat A[X+1,2]->Mat A[X,2]
Else X=P
H->Mat A[P,2]
L->Mat A[P,1]
Ifend
Locate Mat A[X,1], Mat A[X,2], "O"
Next


Voila quelques explications s'imposent je pense:
P est le nombre de "particules" du snake.
La matrice A est composée de 2 colonnes et de P lignes. Dans la 1ere colonne sont stockées les abscisses (donc entre 1 et 21) et dans la 2eme les ordonnées (entre 1 et 7).
Dans cette matrice les coordonnées de la tête du snake sont stockées à la dernière ligne (à la ligne P autrement dit) et la queue est à la 1ere ligne.
Les variables H et L sont obtenues à la suite de getkey. Ex: si getkey=27 (flèche de droite) alors L+1->L. J'aurais pu mettre à la place Mat A[P, 2] (pour H) et Mat A[P,1] (pour L) mais c'est plus court de faire toutes les ajustations avec H et L et enfin les attribuées dans la matrice. Apèrs je ne sais pas s'il vaut mieux faire quelques bytes de plus et moins de variables ou inversement.

Donc pour toutes les lignes sauf celles de la tête, on replace l'abscisse et l'ordonnée de la ligne par celles d'après.
Enfin on affiche à l'abscisse et l'ordonnée de la ligne X: "O".


Bon pas forcément très clair je pari mais poser moi des questions si y'a un ptit truc que vous comprenez pas svp.
Voila en faite je voudrais donc savoir si c'est normal que ça soit si lent (par exemple si je donne 9 particules au snake c'est très lent) ou si ya un autre manière de faire.

Merci.

Pingu (alias MBM quand j'avais pas encore de compte)

PS: on utilise quoi comme police ou fonction pour mettre du code (ou une citation) ?
PS2: les guillemets ne s'affichent pas apparemment



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 73 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