From fd7f06a25935026cf3e89ffb1d82b1bae0fbaa98 Mon Sep 17 00:00:00 2001 From: Lucas Date: Sat, 14 Feb 2026 17:06:29 +0100 Subject: [PATCH] temp --- .gitignore | 1 + .../Proficiencies/museum_restoration/debug | Bin 20424 -> 0 bytes .../museum_restoration/fossils.c | 84 ++++++++++++++++-- 3 files changed, 78 insertions(+), 7 deletions(-) delete mode 100755 HolidayTrip/Proficiencies/museum_restoration/debug diff --git a/.gitignore b/.gitignore index 888e1f5..e2c6df4 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ *~ *.DotSettings.user +*.html diff --git a/HolidayTrip/Proficiencies/museum_restoration/debug b/HolidayTrip/Proficiencies/museum_restoration/debug deleted file mode 100755 index 0649aa5c461e9545ae7a9366bd8c2f5904234c27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20424 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 #include #include #include +//############################################### +//# CE QUI ARRIVE EST MOCHE ATTENTION LES YEUX # +//############################################### + struct fossil *init_fossil(char *species, enum body_part body_part, size_t age, char has_wings){ if(species == NULL) return NULL; @@ -27,6 +32,17 @@ struct fossil *init_fossil(char *species, enum body_part body_part, size_t age, return fossil; } +int contain(enum body_part part, enum body_part parts[], int size){ + //cahr required_part[4] = {SKULL, TORSO, TAIL, LEGS}; + //on compte le nombre de part + int is_in = 0; + + for(int i = 0; i < size; i++){ + if(part == parts[i]) is_in ++; + } + return is_in; +} + struct fossil *assemble_wingless(struct fossil *fossils[4]){ if(fossils == NULL) return NULL; @@ -35,15 +51,69 @@ struct fossil *assemble_wingless(struct fossil *fossils[4]){ if(fossils[i] == NULL) return NULL; } - if() - /* - char *sp = fossils[0]->species; + char *specie = fossils[0]->species; int age = fossils[0]->age; - int req = 0; + int parts[4] = {}; + enum body_part required_part[4] = { SKULL, TORSO, TAIL, LEGS}; + + //on test tt for(int i = 0; i < 4; i++){ if(fossils[i]->has_wings != 0) return NULL; - if(fossils[i]->species != sp && fossils[i]->age == age) return NULL; - if((fossils[i]->part != SKULL || fossils[i]->part != ) || req != 1;){} - }*/ + + if(fossils[i]->species != specie && fossils[i]->age == age) return NULL; + + parts[i] = fossils[i]->part; + } + + //on test pour tt les parties + // SI une part est en double alors on sort + for (int part = 0; part < 4; part ++){ + if(contain(parts[part], required_part, 4) != 1) return NULL; + } + + //ON FREE EN MASSE GRRR + + for(int foss = 0; foss < 4; foss ++){ + free(fossils[foss]->species); + free(fossils[foss]); + + //on set a NULL + fossils[foss] = NULL; + } + + return init_fossil(specie, COMPLETE, age, 0); +} + +struct fossil *assemble_with_wings(struct fossil *fossils[5]){ + + size_t age = fossils[0]->age; + char* specie = fossils[0]->species; + + enum body_part required_part[5] = {SKULL, TORSO, TAIL, LEGS, WINGS}; + enum body_part parts[5] = {}; + + for (int i = 0; i < 5; i++){ + + if(fossils[i]->has_wings != 0) return NULL; + + if(fossils[i]->species != specie && fossils[i]->age != age) return NULL; + + parts[i] = fossils[i]->part; + } + + for(int part = 0; part < 5; part ++){ + if(contain(parts[part], required_part, 5) != 1) return NULL; + } + + // ON FREE EN MASSE ENCORE + + for(int foss = 0; foss < 5; foss++){ + + free(fossils[foss]->species); + free(fossils[foss]); + fossils[foss] = NULL; + } + + return init_fossil(specie, COMPLETE, age, 1); }