Bonjour ! J'ai un memory game à faire en classe et je suis un peu perdue. Je ne code en C que depuis cette année.
Je viens de m'inspirer du puissance 4 fait en classe afin de créer le tableau, et maintenant je cherche à mettre insérer les différentes combinaisons de cartes. Est ce que quelqu'un pourrait m'aider s'il vous plait ? Merci d'avance
#include "graphics.h"
#include <stdio.h>
POINT Pclic;
int ligne;
int colonne;
int JEU[4][4]; //déclaration du tableau de jeu
int JOUEUR1[4][4];
int color;
void grille()
{
POINT p1;
POINT p2;
p1.x=200; p1.y=200;
p2.x=200; p2.y=600;
draw_line(p1,p2,violet);
while(p1.x<600)
{
p1.x=p1.x+100; p1.y=200;
p2.x=p2.x+100; p2.y=600;
draw_line(p1,p2,violet);
}
p1.x=200; p1.y=200;
p2.x=600; p2.y=200;
draw_line(p1,p2,violet);
while(p1.y<600)
{
p1.x=200; p1.y=p1.y+100;
p2.x=600; p2.y=p2.y+100;
draw_line(p1,p2,violet);
}
}
void recherchecolonne() //permet de sélectionner des colonnes
{
Pclic=wait_clic();
colonne= (Pclic.x-100)/100 ;
}
void initialisation () //démarre le tableau à partir de 0
{
int colonne,ligne;
for (colonne=0; colonne<=4; colonne=colonne+1)
{
for (ligne=0; ligne<=4; ligne=ligne+1)
{
JEU[ colonne ][ ligne ] = 0;
JOUEUR1[4][4]=0;
}
}
}
void D_ligne()
{
ligne=0;
while(JEU[ colonne ][ ligne ] == 1 && ligne<=4 )//permet de placer une tuile dans une case vide tant que le nombre de ligne est inférieur ou égal à 4
{
ligne=ligne+1;
}
JEU[ colonne ][ ligne ] = 1;
printf("case=%d\n",JEU[ colonne ][ ligne ]);
}
int main() //Afficher le contenu des fonction void
{
init_graphics (1000,800);
fill_screen(orange);
initialisation ();
grille();
while(1)
{ recherchecolonne();
D_ligne();
Pclic=wait_clic();
printf("Vous avez sélectionné la colonne %d\n",colonne);
printf("Vous avez sélectionné la ligne%d\n",ligne);
}
wait_escape();
exit (0);
}
Tu peux te faire une énumération qui contient tes différentes cartes. Au lieu d'avoir que des 0 et des 1 dans JEU[colonne][ligne] tu aurais les valeurs des énumérations des cartes. Sauf qu'il faudra sûrement stocker si la carte est retournée ou non, tu pourrais donc te faire quelque chose comme ça :
#include <stddef.h> // pour bool
enum carte {
CARTE1, CARTE2, CARTE3, ...
};
struct box {
enum carte carte;
bool retourne;
}
struct box JEU[4][4];
Ainsi chaque case de ton tableau JEU aura : la carte associée, et un booléen indiquant si la carte est retournée ou non.
Bonjour, excusez moi je pensais avoir répondu. En tout cas j'ai résolu le problème, merci beaucoup !
Memory game Langage C
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.