diff --git a/code/display.c b/code/display.c index 3be77888406edae1b3d18800274bb01ec457dbf0..79f924d32733ea94a9c79b806b49aa4196fee933 100644 --- a/code/display.c +++ b/code/display.c @@ -102,18 +102,20 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour if (world->rounds.enemies[i].sprite.is_visible == 1) { - if(world->rounds.enemies[i].direction == 1 && world->rounds.enemies[i].isLookingLeft == 1) + /*if(world->rounds.enemies[i].direction == 1 && world->rounds.enemies[i].isLookingLeft == 1 && world->rounds.enemies[i].isLookingRight == 0) { - rotate_right(renderer, world, resources->enemies[i],i); + rotate_left(renderer, world, resources->enemies[i],i); + world->rounds.enemies[i].isLookingLeft = 0; world->rounds.enemies[i].isLookingRight = 1; } - else if (world->rounds.enemies[i].direction == -1 && world->rounds.enemies[i].isLookingRight == 1) + else if (world->rounds.enemies[i].direction == -1 && world->rounds.enemies[i].isLookingRight == 1 && world->rounds.enemies[i].isLookingLeft == 0) { + //rotate_right(renderer, world, resources->enemies[i],i); rotate_left(renderer, world, resources->enemies[i],i); world->rounds.enemies[i].isLookingLeft = 1; world->rounds.enemies[i].isLookingRight = 0; - } + }*/ load_texture_enemies(resources, renderer, world, i); } } @@ -221,7 +223,27 @@ void init_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, wor 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); + if(world->rounds.enemies[i].type == 1 || world->rounds.enemies[i].type == 4) + { + if(world->rounds.enemies[i].direction == 1) + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type1/1-Type1D.bmp", renderer, 255,0,255); + else + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type1/1-Type1G.bmp", renderer, 255,0,255); + } + else if(world->rounds.enemies[i].type == 2) + { + if(world->rounds.enemies[i].direction == 1) + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type2/1-Type2D.bmp", renderer, 255,0,255); + else + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type2/1-Type2G.bmp", renderer, 255,0,255); + } + else if(world->rounds.enemies[i].type == 3) + { + if(world->rounds.enemies[i].direction == 1) + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type3/1-Type3D.bmp", renderer, 255,0,255); + else + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type3/1-Type3G.bmp", renderer, 255,0,255); + } } } @@ -235,8 +257,30 @@ void realloc_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, 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); - } + if(world->rounds.enemies[i].type == 1 || world->rounds.enemies[i].type == 4) + { + if(world->rounds.enemies[i].direction == 1) + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type1/1-Type1D.bmp", renderer, 255,0,255); + else + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type1/1-Type1G.bmp", renderer, 255,0,255); + } + else if(world->rounds.enemies[i].type == 2) + { + + if(world->rounds.enemies[i].direction == 1) + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type2/1-Type2D.bmp", renderer, 255,0,255); + else + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type2/1-Type2G.bmp", renderer, 255,0,255); + } + else if(world->rounds.enemies[i].type == 3) + { + if(world->rounds.enemies[i].direction == 1) + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type3/1-Type3D.bmp", renderer, 255,0,255); + else + resources->enemies[i] = charger_image_transparente("../resources/SpriteZombie/Type3/1-Type3G.bmp", renderer, 255,0,255); + } + + } } void clear_enemies_ressources(resources_t *resources,int nbEnemies) diff --git a/code/enemy.c b/code/enemy.c index 09c2c0548b30f82900c20f8fdefe1011d7a00c19..99652f1241998754ee0e1699c9aad4bf50634a92 100644 --- a/code/enemy.c +++ b/code/enemy.c @@ -32,6 +32,8 @@ void init_enemy(enemy_t *enemy) } enemy->is_moving = 0; enemy->drop = 0; + enemy->isLookingRight = 1; + enemy->isLookingLeft = 0; } @@ -42,13 +44,13 @@ void init_enemyType1(enemy_t *enemy) { init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_SPEED, 1); enemy->direction = -1; - enemy->isLookingRight = 0; - enemy->isLookingLeft = 1; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ }else{ init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_SPEED, 1); enemy->direction = 1; - enemy->isLookingRight = 1; - enemy->isLookingLeft = 0; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ } enemy->type = 1; enemy->DestEnemy.x = enemy->sprite.x; @@ -64,13 +66,14 @@ 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; - enemy->isLookingRight = 0; - enemy->isLookingLeft = 1; + + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ }else{ init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT,ENEMY_T2_SPEED, 2); enemy->direction = 1; - enemy->isLookingRight = 1; - enemy->isLookingLeft = 0; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ } enemy->type = 2; enemy->DestEnemy.x = enemy->sprite.x; @@ -86,13 +89,13 @@ void init_enemyType3(enemy_t *enemy) { init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_T3_SPEED, 1); enemy->direction = -1; - enemy->isLookingRight = 0; - enemy->isLookingLeft = 1; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ }else{ init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT,ENEMY_T3_SPEED, 1); enemy->direction = 1; - enemy->isLookingRight = 1; - enemy->isLookingLeft = 0; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ } enemy->type = 3; enemy->DestEnemy.x = enemy->sprite.x; @@ -108,13 +111,13 @@ void init_enemyType4(enemy_t *enemy) { init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_T4_HEIGHT*2-40, ENEMY_T4_WIDTH, ENEMY_T4_HEIGHT, 1, 1); enemy->direction = -1; - enemy->isLookingRight = 0; - enemy->isLookingLeft = 1; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ }else{ init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_T4_HEIGHT*2-40, ENEMY_T4_WIDTH, ENEMY_T4_HEIGHT,1, 1); enemy->direction = 1; - enemy->isLookingRight = 1; - enemy->isLookingLeft = 0; + /*enemy->isLookingRight = 1; + enemy->isLookingLeft = 0;*/ } enemy->type = 4; enemy->DestEnemy.x = enemy->sprite.x; diff --git a/code/round_management.c b/code/round_management.c index cd5d04dbc7250b2cbab06d06e88470fe37e0937a..9be99ea96c4314db23f26f9d258fb6dabc3b3b5f 100644 --- a/code/round_management.c +++ b/code/round_management.c @@ -44,7 +44,7 @@ void updateRound(round_t *round) } } round->counter++; - if(round->counter == 50) + if(round->counter == 500) { round->counter = 0; } diff --git a/data/save.txt b/data/save.txt index 5ef5d6d5e3c671f197778d80be91a99b0da6d396..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 -5 +8 /Nombre d'ennemis en plus à chaque manche 1 /Nombre de balles