[Algo] Algorithme d'un Tetris (et programmation)

Algorithme d'un Tetris (et programmation) [Algo] - C++ - Programmation

Marsh Posté le 30-01-2006 à 20:55:06    

Salut !
 
Voilà, je viens de finir mon premier semestre de DUT Informatique en Année Spéciale, et je me suis dit que je pourrais tenté de me faire un petit projet personel pas trop dur. J'ai pensé au Tetris, car c'est je pense le jeu le plus simple a faire sans un minimum d'IA (contrairement à un Pac-Man ou Pong).
 
J'ai choisi de le faire en C++ si possible, en utilisant OpenAL/OpenGL. J'aimerais ne pas utilisé de notion de programmation orienté-objet vu que je ne l'ai pas encore vu, l'apprenant actuellement avec le Java.
 
Je m'heurte à quelque probleme au niveau de la représentation des données. J'ai pensé représenter l'aire de jeux avec un tableau de booléen (vu que c'est une grille). Mais ensuite il me faut representer les pieces, et savoir detecter les "colisions" quand elles descendent. Ca à l'air le point le plus dur de l'algorithme je pense. Mais comme ces pieces sont pas forcement de taille identique un tableau n'est pas forcement adapté. Si vous avez des conseils. ;) En ce qui conserne la génération aléatoire des pieces je pense pouvoir y arriver sans trop de problemes.
 
J'essairais de mettre mes algorithmes au fur et à mesure des que possible.
 
Pour le moment un squellette vague est là, avec l'initialisation et la lecture d'un fichier WAV avec OpenAL via ALut, l'initialisation de l'OpenGL via GLut (ça marche moins bien déjà ;)) et la detection du CPU et de ses features.
 
Voila.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 30-01-2006 à 20:55:06   

Reply

Marsh Posté le 31-01-2006 à 12:15:40    

MEI a écrit :

Salut !
Je m'heurte à quelque probleme au niveau de la représentation des données. J'ai pensé représenter l'aire de jeux avec un tableau de booléen (vu que c'est une grille). Mais ensuite il me faut representer les pieces, et savoir detecter les "colisions" quand elles descendent. Ca à l'air le point le plus dur de l'algorithme je pense. Mais comme ces pieces sont pas forcement de taille identique un tableau n'est pas forcement adapté. Si vous avez des conseils. ;) En ce qui conserne la génération aléatoire des pieces je pense pouvoir y arriver sans trop de problemes.


Salut,
Moi je ne ferai pas un tableau de booleen, mais un tableau d'entiers.
Un piece s'etalerait sur plusieurs cases du tableau. L'entier representerait le "numero de serie" de la piece et te servira a acceder aux informations sur la piece (couleur, orientation, ...)
http://img67.imageshack.us/img67/6066/tetris1qe.jpg
Ici, 1 represente un 'L gauche' debout
2, represente un carre
et 3 represente un L de meme type que 1, mais dans une orientation differente.
 
Pour la collision, il te faut tester si pour chaque case d'une piece si la case d'en dessous est libre ou pas.
Si une seule case n'est pas libre alors la piece repose sur une autre piece, sinon elle peut descendre.
 
(bon c'est juste une premiere approche!)


Message édité par breizhbugs le 31-01-2006 à 12:16:22
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed