1
0

Création de fonctions pour les cartes

- Création d'une fonction create_card()
- Création d'une fonction show_card() qui sera appelé
  lorsque l'utilisateur clique sur une carte pour la retourner
- Création d'une fonction load_card() qui sera appelé pour charger le
  fichier d'image d'une carte uniquement lorsqu'il est nécessaire
d'afficher cette dernière
This commit is contained in:
Lyanis SOUIDI 2022-12-03 20:23:42 +01:00
parent 96480e1be5
commit deb9868be4
3 changed files with 24 additions and 4 deletions

View File

@ -7,6 +7,10 @@ typedef struct {
char *file;
} card;
card create_card(int x, int y, int L, int H, char *file);
void load_card(card carte);
void show_card(card carte);
card create_card(int x, int y, int L, int H, int id, char *file);
#endif

View File

@ -9,9 +9,24 @@ typedef struct {
char *file;
} card;
card create_card(int x, int y, int L, int H, char *file) {
void load_card(card carte) {
if (!carte.loaded) {
ChoisirEcran(1);
ChargerImage(carte.file, carte.zone.x, carte.zone.y, 0, 0, carte.zone.L, carte.zone.H);
carte.loaded = 1;
ChoisirEcran(0);
}
}
void show_card(card carte) {
if (!carte.loaded) load_card(carte);
CopierZone(1, 0, carte.zone.x, carte.zone.y, carte.zone.L, carte.zone.H, carte.zone.x, carte.zone.y);
carte.displayed = 1;
}
card create_card(int x, int y, int L, int H, int id, char *file) {
zone zone = {x, y, L, H};
card carte = {zone, 0, 0, file};
card carte = {zone, 0, 0, 0, id, file};
DessinerRectangle(carte.zone.x, carte.zone.y, carte.zone.L, carte.zone.H);
return carte;
}

View File

@ -24,7 +24,7 @@ int game(int colonnes, int lignes) {
ChoisirEcran(i);
EffacerEcran(CouleurParComposante(54, 57, 63));
}
ChoisirCouleurDessin(CouleurParNom("white"));
for(i = 0; i < (colonnes * lignes) / 2;) {
@ -74,6 +74,7 @@ int game(int colonnes, int lignes) {
GAME_MARGIN_RIGHT + (((WINDOW_WIDTH - (GAME_MARGIN_RIGHT + GAME_MARGIN_LEFT)) - (case_max_dimensions * colonnes)) / 2) + (c * case_max_dimensions),
GAME_MARGIN_TOP + (((WINDOW_HEIGHT - (GAME_MARGIN_TOP + GAME_MARGIN_BOTTOM)) - (case_max_dimensions * lignes)) / 2) + (l * case_max_dimensions),
case_max_dimensions - (2 * case_margin), case_max_dimensions - (2 * case_margin),
tab[i],
file
);
i++;