diff --git a/include/card.h b/include/card.h index 3cf8794..75854f3 100644 --- a/include/card.h +++ b/include/card.h @@ -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 \ No newline at end of file diff --git a/src/card.c b/src/card.c index 7cfcd06..54c698e 100644 --- a/src/card.c +++ b/src/card.c @@ -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; } \ No newline at end of file diff --git a/src/game.c b/src/game.c index f80ca99..4ea7de2 100644 --- a/src/game.c +++ b/src/game.c @@ -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++;