je travail actuelement sur un projet de jeu tetris et j'ai du creer une structure comme suit:
I) tout en haut du programme (avant le main) j'ai declarer et defini la structure:
typedef struct block // un type block composé de 2 entiers.
{ int etat;
int couleur;
}block;
block tab_block[30][20]; // un tableau de block.
j'ai créer une fonction ou je dois passer mon tableau de block en entré.
1)Prototype de la fonction:
void IA(block tab_block[18][10],int type_block) // si je ne met pas les [18] [10] j'ai cette errererror: no match for 'operator[]' in 'tab_block[i]'|
2) appel a la fonction:
IA(tab_block,type_block); // en mettant les [18][10] dans le prototype j'arrive a passer la premiere erreur mais ça génere une erreur dans l'appel:
|error: cannot convert 'block (*)[20]' to 'block (*)[10]' for argument '1' to 'void IA(block (*)[10], int)'|
EDIT: j'ai résolue le probléme en faisant l'appel suivant: IA(tab_block[18][20],type_block) quel etait le probléme?
II) je dois créer une IA (vous vous en etes un peux douté) pour mon jeu, si vous avez des codes sources en C pour des IA Tetris je pourrais m'en inspirer.
III) comment faire pour lancer 2 instances de mon programme (EX: j'appuie sur la touche F2 sa lance une sorte de mode 2 joueurs ou une nouvelle fenetre s'ouvre pour qu'un 2 éme joueur ou l'ordinateur puisse jouer contre le premier.
EDIT 2:
IV) je rencontre un probléme. je dispose d'une fonction void move_gauche() qui permet a la piéce controllé (celle qui tombe) de bouger une fois a gauche.
sauf que si j'appelle cette fonction (par simple pression d'un bouton dans un switch() le programme execute la fonction un trés grand nombre de fois (tellement qu'elle sort partiellement de la surface de jeu) alors que je n'ai appelé la fonction que UNE fois.
a votre avis quel peut etre le probléme?
Merci d'avance.
Partager