Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1891 connectés 

  FORUM HardWare.fr
  Programmation
  C++

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1295143
MEI
|DarthPingoo(tm)|
Posté le 30-01-2006 à 20:55:06  profilanswer
 

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 |
mood
Publicité
Posté le 30-01-2006 à 20:55:06  profilanswer
 

n°1295428
breizhbugs
Posté le 31-01-2006 à 12:15:40  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

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

 

Sujets relatifs
Algo MINI-MAX/ alphabetaProgrammation java sur telephone mobile ?
programmation reseauxProgrammation C sous z/OS
Langage de programmation préféré ;)Algo suite logique
développement égal programmation?algo/Python : point à l'intérieur d'un polygone ?
[Algo] EchecsConcours de programmation : Prologin 2006 (derniers jours)
Plus de sujets relatifs à : [Algo] Algorithme d'un Tetris (et programmation)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR