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