From 6a9a4cc27b4b3c3e5f1514476fed0b9465080a00 Mon Sep 17 00:00:00 2001 From: Lucas Date: Sun, 15 Feb 2026 19:53:55 +0100 Subject: [PATCH] train --- .../Fundamentals/my_strings/my_strings.c | 2 +- HolidayTrip/Fundamentals/radar/radar.c | 2 +- HolidayTrip/Fundamentals/reap_and_tear/main.c | 31 ++++++++++--------- .../Fundamentals/reap_and_tear/villager.c | 12 ++++++- HolidayTrip/Proficiencies/animals/main.c | 12 +++---- HolidayTrip/Proficiencies/animals/vector.c | 3 -- 6 files changed, 35 insertions(+), 27 deletions(-) diff --git a/HolidayTrip/Fundamentals/my_strings/my_strings.c b/HolidayTrip/Fundamentals/my_strings/my_strings.c index aa7dbc0..c610485 100644 --- a/HolidayTrip/Fundamentals/my_strings/my_strings.c +++ b/HolidayTrip/Fundamentals/my_strings/my_strings.c @@ -13,7 +13,7 @@ struct string *my_str_init(const char* s, size_t size){ rslt->size = 0; } else{ - rslt->data = malloc(size); + rslt->data = malloc((1 + size) * sizeof(char*)); if(rslt->data == NULL){ free(rslt); return NULL; diff --git a/HolidayTrip/Fundamentals/radar/radar.c b/HolidayTrip/Fundamentals/radar/radar.c index e5700cb..b62dae9 100644 --- a/HolidayTrip/Fundamentals/radar/radar.c +++ b/HolidayTrip/Fundamentals/radar/radar.c @@ -23,7 +23,7 @@ size_t detect_points(struct point center, double range, struct point *interestin for(size_t i = 0; i < nb_points; i++){ if(is_in_area(center, range,interesting_points[i]) == 1){ - printf("{ %f, %f }\n",interesting_points[i].x, interesting_points[i].y); + printf("{%f, %f}\n",interesting_points[i].x, interesting_points[i].y); found ++; } } diff --git a/HolidayTrip/Fundamentals/reap_and_tear/main.c b/HolidayTrip/Fundamentals/reap_and_tear/main.c index afa2967..f311363 100644 --- a/HolidayTrip/Fundamentals/reap_and_tear/main.c +++ b/HolidayTrip/Fundamentals/reap_and_tear/main.c @@ -1,11 +1,10 @@ -//#include +#include +#include "demon.h" +#include "villager.h" +#include "weapons.h" -//#include "demon.h" -//#include "villager.h" -//#include "weapons.h" - -//int main() -//{ +int main() +{ /* char gun_name[50] = "BFG"; struct gun *gun = init_gun(gun_name, 50, FAR, 16); @@ -35,11 +34,12 @@ pp_villager(villager); destroy_villager(villager); */ - /* char demon_name[50] = "Cyberdemon"; +/* char demon_name[50] = "Cyberdemon"; struct demon *demon = init_demon(NIGHTMARE, demon_name, 40, 5, CLOSE); update_demon_hp(demon, 200); */ - /* char name[50] = "Isabelle"; +/* + char name[50] = "Isabelle"; char gun_name[50] = "BFG"; struct gun *gun = init_gun(gun_name, 50, FAR, 16); struct villager *villager = @@ -62,14 +62,14 @@ init_villager(name, 50, gun, 1); // Heal - villager->cur_HP -= 40; + villager->cur_HP -= 12; pp_villager(villager); putchar('\n'); heal(villager); pp_villager(villager); destroy_villager(villager); */ -/* char name[50] = "Isabelle"; + char name[50] = "Isabelle"; char gun_name[50] = "BFG"; struct gun *gun = init_gun(gun_name, 50, FAR, 16); struct villager *villager = @@ -81,7 +81,7 @@ walk(villager, 50); pp_villager(villager); destroy_villager(villager); -*/ + /* // Init Villager char name[50] = "Isabelle"; @@ -202,8 +202,9 @@ destroy_villager(villager); destroy_demon(demon); - -}*/ +*/ +} +/* #include #include #include @@ -315,4 +316,4 @@ int main() return 0; } - +*/ diff --git a/HolidayTrip/Fundamentals/reap_and_tear/villager.c b/HolidayTrip/Fundamentals/reap_and_tear/villager.c index a586bb3..a9b054b 100644 --- a/HolidayTrip/Fundamentals/reap_and_tear/villager.c +++ b/HolidayTrip/Fundamentals/reap_and_tear/villager.c @@ -50,6 +50,15 @@ void shoot(struct villager *villager, struct demon *demon){ } //villager shoot le demon + + //Si les degats sont <= 0 + if((villager->gun->damage + villager->gun_mastery) <= 0 ){ + update_demon_hp(demon, 0); + printf("BAM! %s lost 0 HP.\n", demon->name); + return ; + + } + //Si les degats sont > 0 villager->gun->current_magazine --; if((villager->distance >= demon->range) && (villager->gun->range >= demon->range)){ @@ -71,7 +80,7 @@ void heal(struct villager *villager){ villager->medicines --; - int gain = villager->cur_HP * 1.25; + int gain = villager->HP_max * 0.25; villager->cur_HP += gain; if (villager->cur_HP > villager->HP_max) villager->cur_HP = villager->HP_max; @@ -116,6 +125,7 @@ enum distance walk(struct villager *villager, int direction){ //printf("Distance act: %d\n", villager->distance); villager->distance -= direction; //printf("Distance apres chg: %d\n",villager->distance); + printf("You decided to move.\n"); return villager->distance; } diff --git a/HolidayTrip/Proficiencies/animals/main.c b/HolidayTrip/Proficiencies/animals/main.c index 0fd8029..7b813dc 100644 --- a/HolidayTrip/Proficiencies/animals/main.c +++ b/HolidayTrip/Proficiencies/animals/main.c @@ -59,13 +59,13 @@ int main(){ free(v->animal); free(v); */ -/* - struct vector *v = vector_init(2); - v = vector_resize(v, 4); + + struct vector *v = vector_init(10); + v = vector_resize(v, 5); printf("Resized capacity: %zu\n", v->capacity); free(v->animal); free(v); -*/ + /* struct vector *v = vector_init(2); @@ -105,12 +105,12 @@ int main(){ struct animal *a = animal_from_fish("Blue", f); free_animal(a); */ - struct vector *v = vector_init(5); +/* struct vector *v = vector_init(5); struct fish *f = fish_init("Trout", 8, 4, 1); struct animal *a = animal_from_fish("Green", f); v = vector_append(v, a); vector_destroy(v); - +*/ } diff --git a/HolidayTrip/Proficiencies/animals/vector.c b/HolidayTrip/Proficiencies/animals/vector.c index 54c2436..0164c7d 100644 --- a/HolidayTrip/Proficiencies/animals/vector.c +++ b/HolidayTrip/Proficiencies/animals/vector.c @@ -34,8 +34,6 @@ struct vector *vector_append(struct vector *v, struct animal *animal){ if(v == NULL || animal == NULL) return NULL; if (v->capacity <= v->size) v = vector_resize(v, v->capacity * 2); - // TODO A voir si le realloc ajoute de l'espace a gauche ou a droite - // car sinon y a ecrasement de data v->animal[v->size] = animal; v->size ++; return v; @@ -70,5 +68,4 @@ void vector_destroy(struct vector *v){ free(v->animal); free(v); - //free_animal(v->animal); }