Incomprehenssion d'un tableau pour un tetris
AzoteIV
Messages postés
19
Statut
Membre
-
leberra Messages postés 28 Statut Membre -
leberra Messages postés 28 Statut Membre -
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
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:
- Incomprehenssion d'un tableau pour un tetris
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Comment faire un tableau croisé dynamique - Guide
1 réponse
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

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