1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
//Descente de la piece:(appel de la fonction descente donnée ci-dessus).
forme_posee = piece.descente(pos_piece, piece, carte);
/*
pos_piece est le tableau de SDL_Rect contenant la position de la piece
piece est le type de pièce qui est en train de descendre
carte est le tableau de int contenant toute la carte du jeu
*/
/*Blittage du menu(il n'est pas terminé et n'est qu'un simple morceau rouge!)*/
SDL_FillRect(menu, NULL, SDL_MapRGB(ecran->format, 255, 0, 0));
pos_menu.y = 0;
pos_menu.x = (NB_BLOCS_L * TAILLE_BLOC);
SDL_BlitSurface(menu, NULL, ecran, &pos_menu);
/*Blittage du décor (double boucle pour parcourir toute l'étendu de la variable carte[NB_BLOCS_L][NB_BLOCS_H]*/
for(int i=0;i<NB_BLOCS_L;i++){
for(int j=0;j<NB_BLOCS_H;j++){
//Création des différentes positions pour tous les blocs
position.x = i*TAILLE_BLOC;
position.y = j*TAILLE_BLOC;
//Parcours de la carte et affichage de ce qu'elle contient
switch(carte[i][j]){
case 0://Si la carte est vide
SDL_BlitSurface(vide, NULL, ecran, &position);
break;
//Les différents nombres servent à afficher différentes couleurs.
case 1:
SDL_BlitSurface(jaune, NULL, ecran, &position);
break;
case 2:
SDL_BlitSurface(rouge, NULL, ecran, &position);
break;
case 3:
SDL_BlitSurface(bleu, NULL, ecran, &position);
break;
case 4:
SDL_BlitSurface(vert, NULL, ecran, &position);
break;
case 5:
SDL_BlitSurface(mauve, NULL, ecran, &position);
break;
}
//Blittage de la pièce qui descend
for(int alpha=0;alpha<4;alpha++){
if(pos_piece[alpha].x == i && pos_piece[alpha].y == j){
position.x = i*TAILLE_BLOC;
position.y = j*TAILLE_BLOC;
SDL_BlitSurface(jaune, NULL, ecran, &position);
}
}//Fin du "for"
}
} |
Partager