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:
parent
96480e1be5
commit
deb9868be4
@ -7,6 +7,10 @@ typedef struct {
|
|||||||
char *file;
|
char *file;
|
||||||
} card;
|
} 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
|
#endif
|
19
src/card.c
19
src/card.c
@ -9,9 +9,24 @@ typedef struct {
|
|||||||
char *file;
|
char *file;
|
||||||
} card;
|
} 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};
|
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);
|
DessinerRectangle(carte.zone.x, carte.zone.y, carte.zone.L, carte.zone.H);
|
||||||
return carte;
|
return carte;
|
||||||
}
|
}
|
@ -24,7 +24,7 @@ int game(int colonnes, int lignes) {
|
|||||||
ChoisirEcran(i);
|
ChoisirEcran(i);
|
||||||
EffacerEcran(CouleurParComposante(54, 57, 63));
|
EffacerEcran(CouleurParComposante(54, 57, 63));
|
||||||
}
|
}
|
||||||
|
|
||||||
ChoisirCouleurDessin(CouleurParNom("white"));
|
ChoisirCouleurDessin(CouleurParNom("white"));
|
||||||
|
|
||||||
for(i = 0; i < (colonnes * lignes) / 2;) {
|
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_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),
|
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),
|
case_max_dimensions - (2 * case_margin), case_max_dimensions - (2 * case_margin),
|
||||||
|
tab[i],
|
||||||
file
|
file
|
||||||
);
|
);
|
||||||
i++;
|
i++;
|
||||||
|
Loading…
Reference in New Issue
Block a user