Tetris et suppresion de lignes multiples

TheChichi Messages postés 3 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 mars 2005 - 6 mars 2005 à 21:36
TheChichi Messages postés 3 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 mars 2005 - 7 mars 2005 à 11:56
Bonjour à tous.
Actuellement je développe un tetris, mais j'ai un problème avec les suppressions de plusieurs lignes quand celles-ci sont complètes.
Elles ne se suppriment qu'une par une.
Par exemple :
si j'ai trois lignes à supprimer, l'une sera supprimée au moment où la pièce qui rempli les lignes se posent., puis au tour (t+1) la seconde sera supprimée, et au tour (t+2) la troisième sera enfin supprimée.
J'ai bien pensé utilisé un drapeau, qui tant qu'il est a vrai va relancer la fonction de suppression, mais cela fait planté le jeu.
Pour ceux que cela intéresse, la source du fichier est dispo à l'adresse suivante :
http://www.fcvnet.net/~remych/tetris1.zip
Voilà, merci pour le coup de main.
Christophe

4 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
6 mars 2005 à 22:02
J'ai jeté un oeil à ton code et j'avoue ne pas comprendre pourquoi tu testes le physique et le logique indépendemment ...

Tu ne devrais vérifier que les blocs logiques (dans ton tableau) et réafficher le tout pour ne te servir du visuel que comme interface graphique ! (tu saisis ?)

Sinon : getProperty(lib_bloc, _y), c'est du Flash 4, et là on arrive à Flash8 ... il serait temps d'utiliser la version utilisée depuis Flash 5 : lib_bloc._y, ce serait mieux ...

Peg'
0
TheChichi Messages postés 3 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 mars 2005
6 mars 2005 à 22:36
Merci du conseil, je vais modifier le code en conséquence (lib_bloc._y), peut être pas ce soir, car il se fait tard, mais demain.

Par contre, je dois t'avouer que je débute en action script, donc j'ai un peu, voir beaucoup de mal avec ce dernier. Et je vois pas comment faire pour afficher quelque chose qu'à partir du tableau. C'est dur ??

En tout cas, merci des conseils.
Christophe.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
6 mars 2005 à 22:58
non, du tout, tu fais 2 boucles for imbriquées et tu affiches les blocs en conséquence ...

Peg'
0
TheChichi Messages postés 3 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 mars 2005
7 mars 2005 à 11:56
Pour les modification du lib_bloc.y, ça ne fonctionne pas partout, et c'est curieux, par exemple pour le fonction Creation_ligne :

//Suppression & décalage visuels
for (k=0; kIci si je modifie, ça marche pas
removeMovieClip(lib_bloc);
} else if ((lib_bloc._y)<((i*pas)+(pas/2))) { En revanche, iIci ça fonctionne
setProperty(lib_bloc, _y, (getProperty(lib_bloc, _y)+pas)); Et là non
}
}

C'est assez étonnant, et c'est a peu près la même chose pour le reste du code (rotation ,...).
Pourtant d'après l'aide, je devrai pourvoir transformer :
setProperty(lib_bloc, _y, (getProperty(lib_bloc, _y)+pas));

en
lib_bloc._y = ((lib_bloc._y)+pas);

Non ??
0
Rejoignez-nous