Problème pour la programmation d'un tetris en c
NUTS-
Messages postés
1
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Bonjour, voilà quelques heures que je suis bloqué là dessus :
Je suis entrain de coder un tetris, pour ensuite faire une IA qui joue a ce tetris.
Voilà Je veux dessiner ma pièce a l'intérieur de mon tableau mais je ne sais pas comment faire.
J'ai pensé a copier ligne par ligne le tableau qui représente la piece dans le tableau qui représente la map alors j'ai fait ca :
en gros là, ca prend la pièce I et ca copie la derniere ligne de la pièce I dans la map. Problème ca ne le fait pas, enfait ca copie que le derniere élément, a savoir 0, dans la map donc ca ne change rien...
à savoir :
ma map est un tableau à une dimension affiché comme une matrice. Donc des coordonnées (x,y) seront calculées par x+y*w.
pareil pour ma pièce c'est du 4*4, mais à une dimension alors la derniere ligne de ma piece sera de 12 a 16
Quelqu'un pourrait-il m'aider ?
Bonjour, voilà quelques heures que je suis bloqué là dessus :
Je suis entrain de coder un tetris, pour ensuite faire une IA qui joue a ce tetris.
Voilà Je veux dessiner ma pièce a l'intérieur de mon tableau mais je ne sais pas comment faire.
J'ai pensé a copier ligne par ligne le tableau qui représente la piece dans le tableau qui représente la map alors j'ai fait ca :
void draw_piece(struct board *map, int w, int h, int col) {
int l1 = col+(h-4)*w;
for(int i = l1; i < l1+5; ++i) {
for(int m = 12; m < 16; ++m) {
map->tab[i] = PIECE_I[m];
}
}
}
en gros là, ca prend la pièce I et ca copie la derniere ligne de la pièce I dans la map. Problème ca ne le fait pas, enfait ca copie que le derniere élément, a savoir 0, dans la map donc ca ne change rien...
à savoir :
ma map est un tableau à une dimension affiché comme une matrice. Donc des coordonnées (x,y) seront calculées par x+y*w.
pareil pour ma pièce c'est du 4*4, mais à une dimension alors la derniere ligne de ma piece sera de 12 a 16
Quelqu'un pourrait-il m'aider ?
Configuration: Windows / Chrome 71.0.3578.98
A voir également:
- Problème pour la programmation d'un tetris en c
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Tetris gratuit sans téléchargement - Télécharger - Stratégie
- Forcer la fermeture d'un programme - Guide
- Programmer un sms - Guide
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, suggestion: remplacer
for(int m = 12; m < 16; ++m) {
map->tab[i] = PIECE_I[m];
} par map->tab[i] = PIECE_I[12+i-l1];