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 » Problème Tetris de rapidité
Tobiasbora Hors ligne Membre Points: 221 Défis: 0 Message

Problème Tetris de rapidité

Posté le 06/06/2010 19:48

Bonjour
Voilà : je débute dans la programmation d'un jeu de Tetris. Pour le moment, j'essaye d'afficher la grille de Tetris qui est contenue dans la Matrice T. Elle est de 24 de haut par 12 de large. Un 0 = une case vide et un 1 une case pleine.

Le problème c'est que quand je veux l'afficher, via drawstat, je fais les cases de la matrice unes par unes et si elle vaut 1, alors je rajoute cette case au draw stat. Bon, pour le moment il y a encore de petits problèmes, notamment sur l'affichage mais ce n'est pas le plus compliqué à changer. Mais LE problème, c'est le temps : il faut presque 10 secondes pour tout afficher, le temps le plus long étant lorsque l'on va chercher dans la matrice. Voilà donc mon code :
Filename: AFFTETR
ViewWindow 0,127,0,7,63,0Ù
ClrTextÙ
ClsÙ
º300ãDÙ
{D}ãList 1Ù
{D}ãList 2Ù
{D}ãList 3Ù
{D}ãList 4Ù
1ãJÙ
1ãIÙ
Dim Mat TÙ
List Ans[1]ãUÙ
List Ans[2]ãVÙ
While JÉUÙ
If Mat T[J,I]È0Ù
Then Ù
PlotOn J,IÙ
{(I-2)À4.5+3,(I-2)À4.5+3,(I-2)À4.5+7,(I-2)À4.5+7,D}ãList 3Ù
Augment(List 1,List 3ãList 1Ù
{D}ãList 3Ù
{º5ÀJ+117,º5ÀJ+123,º5ÀJ+123,º5ÀJ+117,D}ãList 4Ù
Augment(List 2,List 4ãList 2Ù
{D}ãList 4Ù
IfEndÙ
Isz IÙ
If I>VÙ
Then Ù
1ãIÙ
Isz JÙ
IfEndÙ
WhileEndÙ
S-WindManÙ
S-Gph1 DrawOn,xyLine,List 2,List 1,1,DotÙ
S-Gph2 DrawOffÙ
S-Gph3 DrawOffÙ
DrawStatÙ

Comme vous le voyer, il reste beaucoup à faire... Mais j'aurais bien aimé qu'on ne mette pas 3 minutes pour afficher les cases...

Savez vous SVP comment je pourrais optimiser mon code ? Avez vous des idées pour que mon programme aille plus vite ?

Merci d'avance



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