Incomprehenssion d'un tableau pour un tetris

Fermé
AzoteIV Messages postés 18 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 juin 2014 - 1 juin 2014 à 19:45
leberra Messages postés 27 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 25 décembre 2015 - 8 juin 2014 à 15:37
Bonjours dans un tutoriel la personne fais ceci :
switch (piece)
{
case 0:
//Pièce constituée de 4 carrés placés en carré
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-2][6] = piece + 1;
tableau[tab_hauteur-1][5] = piece + 1;
tableau[tab_hauteur-1][6] = piece + 1;
break;
case 1:
//Pièce constituée de 4 carrés placés en ligne droite
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-2][3] = piece + 1;
tableau[tab_hauteur-2][4] = piece + 1;
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-2][6] = piece + 1;
break;
case 2:
//Pièce constituée de 4 carrés placés en L sur la gauche
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-1][4] = piece + 1;
tableau[tab_hauteur-2][4] = piece + 1;
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-2][6] = piece + 1;
break;
case 3:
//Pièce constituée de 4 carrés placés en L sur la droite
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-2][4] = piece + 1;
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-2][6] = piece + 1;
tableau[tab_hauteur-1][6] = piece + 1;
break;
case 4:
//Pièce constituée de 4 carrés placés en T
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-2][4] = piece + 1;
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-1][5] = piece + 1;
tableau[tab_hauteur-2][6] = piece + 1;
break;
case 5:
//Pièce constituée de 4 carrés placés en S à plat
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-2][4] = piece + 1;
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-1][5] = piece + 1;
tableau[tab_hauteur-1][6] = piece + 1;
break;
case 6:
//Pièce constituée de 4 carrés placés en S à plat dans l'autre sens
//au milieu et en bas de la zone du haut
tableau[tab_hauteur-1][4] = piece + 1;
tableau[tab_hauteur-1][5] = piece + 1;
tableau[tab_hauteur-2][5] = piece + 1;
tableau[tab_hauteur-2][6] = piece + 1;
break;
default:
break;
}

je ne comprend pas son tableau, comment les carré sont disposé pour formé les pièces

Merci de m'aider
si qqun pouvais m'expliqué pour le L par exemple
A voir également:

1 réponse

leberra Messages postés 27 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 25 décembre 2015 1
8 juin 2014 à 15:37
j'ai fait un shéma pour tenter d'expliquer :


la double rangée grisée correspond aux lignes hauteur -1 et hauteur -2 du tableau

la hauteur représente donc la ligne inférieure de la pièce

les colonnes 4, 5, 6 représentent les colonnes 4, 5, 6 du tableau

Ainsi, comme c'est prévu dans le code, la pièce rouge va remplir les cases (hauteur-2;4), (hauteur -2;5), (hauteur -1;5), (hauteur -1;6), on met donc 1 dans ces cases, puisqu'elles sont remplies

Quand à la ligne "//au milieu et en bas de la zone du haut", j'avoue qu'elle m'échappe, mais je pense que celui qui a fait le code a séparé la gestion de pièces suivant les colonnes qu'elles remplissent (ce serait plus logique, s'il n'y avait que 3 colonnes, que le tableau commence à la colonne 0 qu'à la colonne 4)

Désolé, mon illustration est minuscule mais je n'ai pas trouvé le moyen de redimensionner l'image quand je l'intègre à un message sur ce forum
0