diff --git a/code/constant.h b/code/constant.h index 7b11f5a498ccddba77157df665adb19bdeb23603..3ffe888453d81bea688c13992af3c9a4c45a6c12 100644 --- a/code/constant.h +++ b/code/constant.h @@ -59,11 +59,23 @@ */ #define ENEMY_T4_HEIGHT 48 + /** * \brief Largeur de l'ennemie du type 4 */ #define ENEMY_T4_WIDTH 38 +/** + * \brief Hauteur de l'ennemie du type 1 + */ +#define ENEMY_T1_HEIGHT 86 + +/** + * \brief Largeur de l'ennemie du type 1 + */ +#define ENEMY_T1_WIDTH 71 + + /** * \brief Taille de l'avion de ravitaillement */ diff --git a/code/display.c b/code/display.c index 4b3a6dbe544c0061c0bf216ec0a9fb3dbd903bc3..41a2f9e5710410d23d790197273ff4dffe0e57fa 100644 --- a/code/display.c +++ b/code/display.c @@ -20,13 +20,6 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour //Fond SDL_RenderCopy(renderer, resources->background, NULL, NULL); - - //Aloocation des ressources ennemis lors d'une nouvelle manche - /*if(world->rounds.is_new_round == 1) - { - realloc_enemies_ressources(renderer,resources,world); - world->rounds.is_new_round = 0; - }*/ //Regarder vers le haut if (world->soldier.sprite.is_visible == 1){ @@ -117,6 +110,7 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour load_texture_powerUp(resources, renderer, world); } + if(world->gameover == 1) { destroy_textures(resources,world); @@ -221,10 +215,6 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo resources->bullet = charger_image_transparente("../resources/SpriteBulletG.bmp", renderer, 255,0,255); - - //resources->enemy = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255); - //init_enemies_ressources(renderer,resources,world); - resources->powerUp = charger_image_transparente("../resources/PowerUp_Vitesse.bmp", renderer, 255,0,255); resources->plane = charger_image_transparente("../resources/Plane.bmp", renderer, 255,0,255); @@ -232,34 +222,6 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo } -/*void init_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world) -{ - resources->enemies = (SDL_Texture**) calloc(world->rounds.number_enemies,sizeof(SDL_Texture*)); - for (int i = 0; i < world->rounds.number_enemies; i++) - { - resources->enemies[i] = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255); - } -} - -void realloc_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world) -{ - SDL_Texture* *tab = (SDL_Texture**) calloc(world->rounds.number_enemies,sizeof(SDL_Texture*)); - free(resources->enemies); - //resources->enemies = NULL; - resources->enemies = tab; - //resources->enemies = (SDL_Texture**) realloc(resources->enemies,sizeof(SDL_Texture*)*world->rounds.number_enemies); - - for (int i = 0; i < world->rounds.number_enemies; i++) - { - resources->enemies[i] = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255); - } -} - -void clear_enemies_ressources(resources_t *resources,int nbEnemies) -{ - free(resources->enemies); - resources->enemies = NULL; -}*/ void destroy_textures(resources_t *resources, world_t *world) { @@ -286,11 +248,6 @@ void destroy_textures(resources_t *resources, world_t *world) SDL_DestroyTexture(resources->soldier_jump_left[i]); SDL_DestroyTexture(resources->soldier_jump_right[i]); } - /*for (int i = 0; i < world->rounds.number_enemies; i++) - { - SDL_DestroyTexture(resources->enemies[i]); - } - clear_enemies_ressources(resources,world->rounds.number_enemies);*/ SDL_DestroyTexture(resources->bullet); SDL_DestroyTexture(resources->plane); @@ -560,16 +517,6 @@ void load_texture_crouch_right(resources_t *resources, SDL_Renderer *renderer, w SDL_RenderCopy(renderer, resources->soldier_crouch_right, NULL, &world->soldier.DestSoldier); } -/*void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t *world) -{ - SDL_RenderCopy(renderer, resources->enemy, NULL, &world->enemy.DestEnemy); -} - -void load_texture_enemies(resources_t *resources, SDL_Renderer *renderer, world_t *world, int i) -{ - SDL_RenderCopy(renderer, resources->enemies[i], NULL, &world->rounds.enemies[i].DestEnemy); -}*/ - void load_texture_powerUp(resources_t *resources, SDL_Renderer *renderer, world_t *world) { SDL_RenderCopy(renderer, resources->powerUp, NULL, &world->supplying.powerUP.DestPowerUP); diff --git a/code/enemy.c b/code/enemy.c index c862b8d73ca7da064ef190cff1a50a2125613bb8..7f657d3a755236c0d4b423edf9368bf2b335a57d 100644 --- a/code/enemy.c +++ b/code/enemy.c @@ -41,17 +41,17 @@ void init_enemyType1(enemy_t *enemy) int random = rand()%2+0; if (random == 1) { - init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_SPEED, 1); + init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_T1_HEIGHT*2-20, ENEMY_T1_WIDTH, ENEMY_T1_HEIGHT, ENEMY_SPEED, 1); enemy->direction = -1; }else{ - init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_SPEED, 1); + init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_T1_HEIGHT*2-20, ENEMY_T1_WIDTH, ENEMY_T1_HEIGHT, ENEMY_SPEED, 1); enemy->direction = 1; } enemy->type = 1; enemy->DestEnemy.x = enemy->sprite.x; enemy->DestEnemy.y = enemy->sprite.y; - enemy->DestEnemy.w = ENEMY_WIDTH; - enemy->DestEnemy.h = ENEMY_HEIGHT; + enemy->DestEnemy.w = ENEMY_T1_WIDTH; + enemy->DestEnemy.h = ENEMY_T1_HEIGHT; } void init_enemyType2(enemy_t *enemy) @@ -61,6 +61,7 @@ void init_enemyType2(enemy_t *enemy) { init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_T2_SPEED, 2); enemy->direction = -1; + }else{ init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT,ENEMY_T2_SPEED, 2); enemy->direction = 1; diff --git a/code/enemy.h b/code/enemy.h index 5ee04e0a501741af2409993082e56b260088e281..1a50da8c56749eb796cd518c8b97405293bd2f6d 100644 --- a/code/enemy.h +++ b/code/enemy.h @@ -43,4 +43,4 @@ void init_enemyType3(enemy_t *enemy); void init_enemyType4(enemy_t *enemy); -#endif \ No newline at end of file +#endif diff --git a/code/main.c b/code/main.c index 9fc561c906eeffe04f15f274e47084bc84e9e2f0..5a3f1fd8384eaaa9c38617fe5c7e7fc79a24abd5 100644 --- a/code/main.c +++ b/code/main.c @@ -82,7 +82,7 @@ int main(void) SDL_RenderPresent(renderer); } // Quitter SDL - //destroy_textures(&resources,&world); + destroy_textures(&resources,&world); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); diff --git a/code/round_management.c b/code/round_management.c index cd5d04dbc7250b2cbab06d06e88470fe37e0937a..640a813c4e780abe1a353a1cffa73c664c31bac6 100644 --- a/code/round_management.c +++ b/code/round_management.c @@ -24,7 +24,7 @@ void initFirstRound(round_t *round, int nbEnemies, int incrementation) round->index_to_spawn = 0; round->is_new_round = 0; //round->gameFinished = 0; - round->enemies = (enemy_t*) calloc(round->number_enemies,sizeof(enemy_t)); + round->enemies = (enemy_t*) malloc(round->number_enemies*sizeof(enemy_t)); for (int i = 0; i < round->number_enemies; i++) { init_enemy(&round->enemies[i]); @@ -77,7 +77,7 @@ void createEnemies(round_t *round) { //round->enemies = (enemy_t*) realloc(round->enemies,sizeof(enemy_t)*round->number_enemies); - enemy_t *tab = (enemy_t*) calloc(round->number_enemies,sizeof(enemy_t)); + enemy_t *tab = (enemy_t*) malloc(round->number_enemies*sizeof(enemy_t)); free(round->enemies); //round->enemies = NULL; round->enemies = tab; diff --git a/code/world_data.c b/code/world_data.c index 878820162911223ef41b89b74bd2df21e9eff487..d19032a00bb3c42698268598c4ef423cafe7f204 100644 --- a/code/world_data.c +++ b/code/world_data.c @@ -90,10 +90,7 @@ void refresh_data(world_t *world) //Si la manche est finie, manche suivante if(isRoundEnded(&world->rounds) == 1) { - //free(world->rounds.enemies); nextRound(&world->rounds); - //printf("gg ta gagné"); - //Charger le bon nombre de texture } //Sinon si la manche n'est pas finie else diff --git a/data/save.txt b/data/save.txt index c10d8b0e5a3c0731d7a0589ddc46aa70f7a5ca41..3963c9b20af603e810238702381b66e0117a7959 100644 --- a/data/save.txt +++ b/data/save.txt @@ -1,7 +1,7 @@ /Vie du joueur au début 10 /Nombre d'ennemis au début -23 +8 /Nombre d'ennemis en plus à chaque manche 1 /Nombre de balles