From 0d780997404a2ba5f0b6174037eb0fa7338b36f3 Mon Sep 17 00:00:00 2001 From: Shadow Date: Wed, 31 Jul 2019 19:56:56 +0200 Subject: [PATCH] Mise en places des menus de mutations de la maladie --- Sources/Plague.g1a | Bin 27952 -> 28160 bytes Sources/src/main.c | 48 ++++++++++++++++++++++++++++++++------------- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/Sources/Plague.g1a b/Sources/Plague.g1a index eff917587e31ac3f391dc5aee40789131e3eb3ca..4adf784fec8b0ea2d639a40ee69f2dad9d5b190b 100644 GIT binary patch delta 1913 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 diff --git a/Sources/src/main.c b/Sources/src/main.c index 15896e0..abdc7c8 100755 --- a/Sources/src/main.c +++ b/Sources/src/main.c @@ -16,7 +16,7 @@ void display_barre (const int *adn, const int *recherche, const int *limite); //display_menu : affiche les données sur l'écran menu du jeu à partir duquel on peut modifier la maladie -void display_menu (const int *adn, const int *contagion, const int *severite, const int *letalite); +void display_menu (const int *adn, const int *contagion, const int *severite, const int *letalite, const int *sel_symp, const int *sel_capa, const int *sel_trans); //display_info : affiche les infos sur la maladie selectionnée void display_info (const char *nom, const int adn, const int conta, const int leta, const int sev); @@ -27,8 +27,8 @@ int menu (int variable, const image_t *img_fonds, int nv_symp, int nv_capa, int //floor : renvoie la partie entière d'une variable double floor (double x); -//copy : copie le contenu de src en écrasant dest. Uniquement pour des chaînes de caractères !! -char *copy (char *dest, const char *src); +//init_mat : remplis la matrice dest à partir de src +void init_mat(int x, int y, int dest[][x], int src[][x]); int main (void) @@ -41,7 +41,7 @@ int main (void) dfont(&font_plague);//On change la police pour la police custom int fond = 1, fin = 0, key = 0, menu_muta = 0;//variables diverses pour le jeu - int recherche = 0, limite = 100, adn = 0, contagion = 0, severite = 0, letalite = 0, nv_symp = 1, nv_capa = 1, nv_trans = 1;//variables pour la maladie + int recherche = 0, limite = 100, adn = 0, contagion = 0, severite = 0, letalite = 0, nv_symp = 1, nv_capa = 1, nv_trans = 1, sel_symp = 0, sel_capa = 0, sel_trans = 0;//variables pour la maladie dclear(C_WHITE); dimage(0, 0, &img_titre); @@ -60,7 +60,7 @@ int main (void) display_barre(&adn, &recherche, &limite);// monde avec la barre en dessous break; case 3: - display_menu(&adn, &contagion, &severite, &letalite);//Menu de modification de la maladie + display_menu(&adn, &contagion, &severite, &letalite, &sel_symp, &sel_capa, &sel_trans);//Menu de modification de la maladie break; } @@ -112,7 +112,7 @@ void display_barre (const int *adn, const int *recherche, const int *limite) } -void display_menu (const int *adn, const int *contagion, const int *severite, const int *letalite) +void display_menu (const int *adn, const int *contagion, const int *severite, const int *letalite, const int *sel_symp, const int *sel_capa, const int *sel_trans) { // toutes les jauges font 68 pxl de long. int variable; @@ -153,12 +153,29 @@ void display_info (const char *nom, const int adn, const int conta, const int le } -int menu (int variable, const image_t *img_fonds, int nv_symp, int nv_capa, int nv_trans) +int menu (int menu_muta, const image_t *img_fonds, int nv_symp, int nv_capa, int nv_trans) { extern image_t img_muta; extern image_t img_pieces; int x = 1, y = 1, i, j, fin = 0, key = 0, no; - int tableau[4][8] = {{1, 2, 5, 4, 3, 0, 0, 0},{0, 0, 14, 13, 0, 0, 0, 0},{0, 0, 0, 0, 12, 0, 0, 0},{0, 0, 6, 8, 7, 11, 10, 9}}; + int tableau[4][8]; + + int symp[4][8] = {{1, 2, 5, 4, 3, 0, 0, 0},{0, 0, 14, 13, 0, 0, 0, 0},{0, 0, 0, 0, 12, 0, 0, 0},{0, 0, 6, 8, 7, 11, 10, 9}}; + int capa[4][8] = {{1, 0, 0, 0, 6, 0, 0, 0},{2, 5, 0, 3, 0, 0, 0, 0},{0, 0, 0, 0, 4, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0}}; + int trans[4][8] = {{1, 2, 3, 0, 6, 5, 0, 0},{0, 0, 0, 4, 0, 0, 0, 11},{9, 10, 0, 0, 0, 0, 0, 12},{0, 0, 0, 7, 8, 0, 0, 13}}; + + switch (menu_muta) + { + case 1: + init_mat(8, 4, tableau, symp); + break; + case 2: + init_mat(8, 4, tableau, capa); + break; + case 3: + init_mat(8, 4, tableau, trans); + break; + } while (fin == 0) { @@ -169,7 +186,7 @@ int menu (int variable, const image_t *img_fonds, int nv_symp, int nv_capa, int { for (j = 0 ; j <= 3; j++) { - if (tableau[j][i] != 0) dsubimage(16 * i, 16 * j, &img_muta, 16 * (variable - 1), 16 * (tableau[j][i] - 1), 15, 15, 0); + if (tableau[j][i] != 0) dsubimage(16 * i, 16 * j, &img_muta, 16 * (menu_muta - 1), 16 * (tableau[j][i] - 1), 15, 15, 0); } } dupdate(); @@ -190,10 +207,13 @@ double floor (double x) } -char *copy (char *dest, const char *src) +void init_mat(int x, int y, int dest[][x], int src[][x]) { - unsigned int i; - for (i =0 ; i <= strlen(src) ; i++) dest[i] = src[i]; - dest[strlen(src) + 1] = '\0'; - return dest; + for (int i = 0 ; i < x ; i++) + { + for (int j = 0 ; j < y ; j++) + { + dest[j][i] = src[j][i]; + } + } }