BePuyo 0.1 : index
PuyoField
PuyoField.h
PuyoField.cpp
Cette classe represente l'espace de jeu dans lequel les puyo naissent, evoluent et meurent. Elle est le lieu de la jonction entre les fonctions internes du jeu et l'interface utilisateur.
Index des methodes
- PuyoField() c'est le constructeur de la classe. Il initialise la matrice representant l'aire de jeu et met a la valeur _BORDER_PUYO_COLOR_ les puyo des bords lateraux et inferieur (pour eviter plus tard que les puyo sortent de l'aire de jeu)
- void display() l'utilisation de cette methode produit l'affichage du PuyoField. Lors du jeu il est bon de l'appeller apres chaque evenement. Cette methode peut etre implementee independament du reste de la clase car elle ne fait appel qu'a la matrice representant l'aire de jeu.
- int setPuyo(int x, int y, int color) place un Puyo sur le PuyoField, aux coordonnes donnees et de la couleur donnee.
Renvoie 1 si l'operation a reussi, 0 sinon (case en dehors du PuyoField).
- int puyoExplosion() une fois un PuyoCouple tombe, cette methode recherche les groupe contigus de 4 ou plus Puyo et les fait exploser.
- findGroup(int,int) recherche un groupe de Puyo contigus de meme couleur a partir de coordonnees. Cette methode les marque pius retourne leur nombre (appel recursif).
- explodeAll() fait exploser tous les Puyo marques du groupe actif (c.f. algorithme de detection des explosions)
- fallAll() fait chutter tous les Puyo en suspension
- unmarkAll() enleve le marquage de tous les Puyo du PuyoField
- int getScore()returne le score actuel du PuyoField
- int updateScore()recalcule le score du PuyoField en fonction des dernières explosions
Donnees membres
Puyo *matrix[_FIELD_WIDTH_][_FIELD_LENGTH_] Cette matrice contient tous les Puyo qui composent le PuyoField.
int fieldScore Contient le score actuel du PuyoField
int puyoInGroup Contient le nompbre de Puyo impliqués dans la dernière explosion (permet de calculer le score).
Constantes définies
const int _FIELD_HEIGHT_ la hauteur du PuyoField, bord inferieur compris
const int _FIELD_WIDTH_ la largeur du PuyoField, bords compris
const int _PUYO_WIDTH_ la largeur en pixels d'un Puyo
const int _PUYO_HEIGHT_ la hauteur en pixels d'un Puyo
const int _BORDER_PUYO_COLOR_ la couleur (entier) des Puyo invisibles du bord