Skip to content
Snippets Groups Projects
Commit 04a6e006 authored by bohan2u's avatar bohan2u
Browse files

Ajout animation des zombies

parent 90ad32de
Branches
No related tags found
No related merge requests found
Showing
with 170 additions and 80 deletions
...@@ -57,12 +57,12 @@ ...@@ -57,12 +57,12 @@
/** /**
* \brief Hauteur de l'ennemie du type 4 * \brief Hauteur de l'ennemie du type 4
*/ */
#define ENEMY_T4_HEIGHT 68 #define ENEMY_T4_HEIGHT 48
/** /**
* \brief Largeur de l'ennemie du type 4 * \brief Largeur de l'ennemie du type 4
*/ */
#define ENEMY_T4_WIDTH 58 #define ENEMY_T4_WIDTH 38
/** /**
* \brief Taille de l'avion de ravitaillement * \brief Taille de l'avion de ravitaillement
......
...@@ -22,11 +22,11 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour ...@@ -22,11 +22,11 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
SDL_RenderCopy(renderer, resources->background, NULL, NULL); SDL_RenderCopy(renderer, resources->background, NULL, NULL);
//Aloocation des ressources ennemis lors d'une nouvelle manche //Aloocation des ressources ennemis lors d'une nouvelle manche
if(world->rounds.is_new_round == 1) /*if(world->rounds.is_new_round == 1)
{ {
realloc_enemies_ressources(renderer,resources,world); realloc_enemies_ressources(renderer,resources,world);
world->rounds.is_new_round = 0; world->rounds.is_new_round = 0;
} }*/
//Regarder vers le haut //Regarder vers le haut
if (world->soldier.sprite.is_visible == 1){ if (world->soldier.sprite.is_visible == 1){
...@@ -101,16 +101,12 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour ...@@ -101,16 +101,12 @@ 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].sprite.is_visible == 1)
{ {
if (world->rounds.enemies[i].direction == 1)
/*if(world->rounds.enemies[i].direction == 1) {
{ load_texture_run_right_enemy(resources, renderer, &world->rounds.enemies[i]);
rotate_right(renderer, world, resources->enemies[i],i); }else{
} load_texture_run_left_enemy(resources, renderer, &world->rounds.enemies[i]);
else }
{
rotate_left(renderer, world, resources->enemies[i],i);
}*/
load_texture_enemies(resources, renderer, world, i);
} }
} }
...@@ -126,9 +122,22 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour ...@@ -126,9 +122,22 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
destroy_textures(resources,world); destroy_textures(resources,world);
} }
char manche[3];
sprintf(manche,"%d",world->rounds.round_number);
char hp[3];
sprintf(hp,"%d",world->soldier.sprite.hp);
char ammo[3];
sprintf(ammo,"%d",30-world->soldier.present_bullet);
apply_text(renderer, 5 , 5 , 100 , 25 ,"Manche :", resources->font); apply_text(renderer, 5 , 5 , 100 , 25 ,"Manche :", resources->font);
apply_text(renderer, 115 , 5 , 20 , 25 ,manche, resources->font);
apply_text(renderer, 5 , 30 , 100 , 25 ,"HP :", resources->font); apply_text(renderer, 5 , 30 , 100 , 25 ,"HP :", resources->font);
apply_text(renderer, 115 , 30 , 20 , 25 ,hp, resources->font);
apply_text(renderer, 5 , 55 , 100 , 25 ,"Ammo :", resources->font); apply_text(renderer, 5 , 55 , 100 , 25 ,"Ammo :", resources->font);
apply_text(renderer, 115 , 55 , 20 , 25 ,ammo, resources->font);
apply_text(renderer, 140 , 55 , 20 , 25 ,"/30", resources->font);
} }
...@@ -143,67 +152,78 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo ...@@ -143,67 +152,78 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo
//Crouching Left //Crouching Left
resources->soldier_crouch_left = charger_image_transparente("../resources/Player/Left/CrouchLeft.bmp", renderer, 255,0,255); resources->soldier_crouch_left = charger_image_transparente("../resources/Player/Left/CrouchLeft.bmp", renderer, 255,0,255);
//Run Left
resources->soldier_run_left[0] = charger_image_transparente("../resources/Player/Left/Run/Run0Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[1] = charger_image_transparente("../resources/Player/Left/Run/Run1Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[2] = charger_image_transparente("../resources/Player/Left/Run/Run2Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[3] = charger_image_transparente("../resources/Player/Left/Run/Run3Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[4] = charger_image_transparente("../resources/Player/Left/Run/Run4Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[5] = charger_image_transparente("../resources/Player/Left/Run/Run5Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[6] = charger_image_transparente("../resources/Player/Left/Run/Run6Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[7] = charger_image_transparente("../resources/Player/Left/Run/Run7Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[8] = charger_image_transparente("../resources/Player/Left/Run/Run8Left.bmp", renderer, 255,0,255);
resources->soldier_run_left[9] = charger_image_transparente("../resources/Player/Left/Run/Run9Left.bmp", renderer, 255,0,255);
//Jumping Left
resources->soldier_jump_left[0] = charger_image_transparente("../resources/Player/Left/Jump/Jump0Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[1] = charger_image_transparente("../resources/Player/Left/Jump/Jump1Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[2] = charger_image_transparente("../resources/Player/Left/Jump/Jump2Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[3] = charger_image_transparente("../resources/Player/Left/Jump/Jump3Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[4] = charger_image_transparente("../resources/Player/Left/Jump/Jump4Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[5] = charger_image_transparente("../resources/Player/Left/Jump/Jump5Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[6] = charger_image_transparente("../resources/Player/Left/Jump/Jump6Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[7] = charger_image_transparente("../resources/Player/Left/Jump/Jump7Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[8] = charger_image_transparente("../resources/Player/Left/Jump/Jump8Left.bmp", renderer, 255,0,255);
resources->soldier_jump_left[9] = charger_image_transparente("../resources/Player/Left/Jump/Jump9Left.bmp", renderer, 255,0,255);
//Idle Right //Idle Right
resources->soldier_idle_right = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255); resources->soldier_idle_right = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255);
//Looking up Right //Looking up Right
resources->soldier_aim_up_right = charger_image_transparente("../resources/Player/Right/LookingUpRight.bmp", renderer, 255,0,255); resources->soldier_aim_up_right = charger_image_transparente("../resources/Player/Right/LookingUpRight.bmp", renderer, 255,0,255);
//Crouching Right //Crouching Right
resources->soldier_crouch_right = charger_image_transparente("../resources/Player/Right/CrouchRight.bmp", renderer, 255,0,255); resources->soldier_crouch_right = charger_image_transparente("../resources/Player/Right/CrouchRight.bmp", renderer, 255,0,255);
resources->cpt = 0;
//Run Right for (int i = 0; i < 10; ++i)
resources->soldier_run_right[0] = charger_image_transparente("../resources/Player/Right/Run/Run0Right.bmp", renderer, 255,0,255); {
resources->soldier_run_right[1] = charger_image_transparente("../resources/Player/Right/Run/Run1Right.bmp", renderer, 255,0,255); char runRightSoldier[1000] = "../resources/Player/Right/Run/RunRight";
resources->soldier_run_right[2] = charger_image_transparente("../resources/Player/Right/Run/Run2Right.bmp", renderer, 255,0,255); char runLeftSoldier[1000] = "../resources/Player/Left/Run/RunLeft";
resources->soldier_run_right[3] = charger_image_transparente("../resources/Player/Right/Run/Run3Right.bmp", renderer, 255,0,255); char jumpRightSoldier[1000] = "../resources/Player/Right/Jump/JumpRight";
resources->soldier_run_right[4] = charger_image_transparente("../resources/Player/Right/Run/Run4Right.bmp", renderer, 255,0,255); char jumpLeftSoldier[1000] = "../resources/Player/Left/Jump/JumpLeft";
resources->soldier_run_right[5] = charger_image_transparente("../resources/Player/Right/Run/Run5Right.bmp", renderer, 255,0,255); char runRightEnemyT1[1000] = "../resources/SpriteZombie/Right/Type1/";
resources->soldier_run_right[6] = charger_image_transparente("../resources/Player/Right/Run/Run6Right.bmp", renderer, 255,0,255); char runLeftEnemyT1[1000] = "../resources/SpriteZombie/Left/Type1/";
resources->soldier_run_right[7] = charger_image_transparente("../resources/Player/Right/Run/Run7Right.bmp", renderer, 255,0,255); char runRightEnemyT2[1000] = "../resources/SpriteZombie/Right/Type2/";
resources->soldier_run_right[8] = charger_image_transparente("../resources/Player/Right/Run/Run8Right.bmp", renderer, 255,0,255); char runLeftEnemyT2[1000] = "../resources/SpriteZombie/Left/Type2/";
resources->soldier_run_right[9] = charger_image_transparente("../resources/Player/Right/Run/Run9Right.bmp", renderer, 255,0,255); char runRightEnemyT3[1000] = "../resources/SpriteZombie/Right/Type3/";
char runLeftEnemyT3[1000] = "../resources/SpriteZombie/Left/Type3/";
//Jumping Right
resources->soldier_jump_right[0] = charger_image_transparente("../resources/Player/Right/Jump/Jump0Right.bmp", renderer, 255,0,255); char bmp[100] = ".bmp";
resources->soldier_jump_right[1] = charger_image_transparente("../resources/Player/Right/Jump/Jump1Right.bmp", renderer, 255,0,255);
resources->soldier_jump_right[2] = charger_image_transparente("../resources/Player/Right/Jump/Jump2Right.bmp", renderer, 255,0,255); char n[2];
resources->soldier_jump_right[3] = charger_image_transparente("../resources/Player/Right/Jump/Jump3Right.bmp", renderer, 255,0,255); sprintf(n,"%i", resources->cpt);
resources->soldier_jump_right[4] = charger_image_transparente("../resources/Player/Right/Jump/Jump4Right.bmp", renderer, 255,0,255);
resources->soldier_jump_right[5] = charger_image_transparente("../resources/Player/Right/Jump/Jump5Right.bmp", renderer, 255,0,255); strcat(runRightSoldier,n);
resources->soldier_jump_right[6] = charger_image_transparente("../resources/Player/Right/Jump/Jump6Right.bmp", renderer, 255,0,255); strcat(runRightSoldier,bmp);
resources->soldier_jump_right[7] = charger_image_transparente("../resources/Player/Right/Jump/Jump7Right.bmp", renderer, 255,0,255); strcat(runLeftSoldier,n);
resources->soldier_jump_right[8] = charger_image_transparente("../resources/Player/Right/Jump/Jump8Right.bmp", renderer, 255,0,255); strcat(runLeftSoldier,bmp);
resources->soldier_jump_right[9] = charger_image_transparente("../resources/Player/Right/Jump/Jump9Right.bmp", renderer, 255,0,255); strcat(jumpRightSoldier,n);
strcat(jumpRightSoldier,bmp);
strcat(jumpLeftSoldier,n);
strcat(jumpLeftSoldier,bmp);
strcat(runRightEnemyT1,n);
strcat(runRightEnemyT1,bmp);
strcat(runRightEnemyT2,n);
strcat(runRightEnemyT2,bmp);
strcat(runRightEnemyT3,n);
strcat(runRightEnemyT3,bmp);
strcat(runLeftEnemyT1,n);
strcat(runLeftEnemyT1,bmp);
strcat(runLeftEnemyT2,n);
strcat(runLeftEnemyT2,bmp);
strcat(runLeftEnemyT3,n);
strcat(runLeftEnemyT3,bmp);
resources->soldier_run_right[i] = charger_image_transparente(runRightSoldier, renderer, 255,0,255);
resources->soldier_run_left[i] = charger_image_transparente(runLeftSoldier, renderer, 255,0,255);
resources->soldier_jump_right[i] = charger_image_transparente(jumpRightSoldier, renderer, 255,0,255);
resources->soldier_jump_left[i] = charger_image_transparente(jumpLeftSoldier, renderer, 255,0,255);
resources->enemyT1_run_right[i] = charger_image_transparente(runRightEnemyT1, renderer, 255,0,255);
resources->enemyT1_run_left[i] = charger_image_transparente(runLeftEnemyT1, renderer, 255,0,255);
resources->enemyT2_run_right[i] = charger_image_transparente(runRightEnemyT2, renderer, 255,0,255);
resources->enemyT2_run_left[i] = charger_image_transparente(runLeftEnemyT2, renderer, 255,0,255);
resources->enemyT3_run_right[i] = charger_image_transparente(runRightEnemyT3, renderer, 255,0,255);
resources->enemyT3_run_left[i] = charger_image_transparente(runLeftEnemyT3, renderer, 255,0,255);
resources->cpt++;
}
resources->bullet = charger_image_transparente("../resources/SpriteBulletG.bmp", renderer, 255,0,255); 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); //resources->enemy = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255);
init_enemies_ressources(renderer,resources,world); //init_enemies_ressources(renderer,resources,world);
resources->powerUp = charger_image_transparente("../resources/PowerUp_Vitesse.bmp", renderer, 255,0,255); 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); resources->plane = charger_image_transparente("../resources/Plane.bmp", renderer, 255,0,255);
...@@ -212,7 +232,7 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo ...@@ -212,7 +232,7 @@ 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) /*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*)); resources->enemies = (SDL_Texture**) calloc(world->rounds.number_enemies,sizeof(SDL_Texture*));
for (int i = 0; i < world->rounds.number_enemies; i++) for (int i = 0; i < world->rounds.number_enemies; i++)
...@@ -239,7 +259,7 @@ void clear_enemies_ressources(resources_t *resources,int nbEnemies) ...@@ -239,7 +259,7 @@ void clear_enemies_ressources(resources_t *resources,int nbEnemies)
{ {
free(resources->enemies); free(resources->enemies);
resources->enemies = NULL; resources->enemies = NULL;
} }*/
void destroy_textures(resources_t *resources, world_t *world) void destroy_textures(resources_t *resources, world_t *world)
{ {
...@@ -257,17 +277,22 @@ void destroy_textures(resources_t *resources, world_t *world) ...@@ -257,17 +277,22 @@ void destroy_textures(resources_t *resources, world_t *world)
{ {
SDL_DestroyTexture(resources->soldier_run_left[i]); SDL_DestroyTexture(resources->soldier_run_left[i]);
SDL_DestroyTexture(resources->soldier_run_right[i]); SDL_DestroyTexture(resources->soldier_run_right[i]);
SDL_DestroyTexture(resources->enemyT1_run_left[i]);
SDL_DestroyTexture(resources->enemyT1_run_right[i]);
SDL_DestroyTexture(resources->enemyT2_run_left[i]);
SDL_DestroyTexture(resources->enemyT2_run_right[i]);
SDL_DestroyTexture(resources->enemyT3_run_left[i]);
SDL_DestroyTexture(resources->enemyT3_run_right[i]);
SDL_DestroyTexture(resources->soldier_jump_left[i]); SDL_DestroyTexture(resources->soldier_jump_left[i]);
SDL_DestroyTexture(resources->soldier_jump_right[i]); SDL_DestroyTexture(resources->soldier_jump_right[i]);
} }
for (int i = 0; i < world->rounds.number_enemies; i++) /*for (int i = 0; i < world->rounds.number_enemies; i++)
{ {
SDL_DestroyTexture(resources->enemies[i]); SDL_DestroyTexture(resources->enemies[i]);
} }
clear_enemies_ressources(resources,world->rounds.number_enemies); clear_enemies_ressources(resources,world->rounds.number_enemies);*/
SDL_DestroyTexture(resources->bullet); SDL_DestroyTexture(resources->bullet);
SDL_DestroyTexture(resources->enemy);
SDL_DestroyTexture(resources->plane); SDL_DestroyTexture(resources->plane);
SDL_DestroyTexture(resources->powerUp); SDL_DestroyTexture(resources->powerUp);
...@@ -388,6 +413,8 @@ void load_texture_run_left(resources_t *resources, SDL_Renderer *renderer, world ...@@ -388,6 +413,8 @@ void load_texture_run_left(resources_t *resources, SDL_Renderer *renderer, world
} }
} }
void load_texture_up_left(resources_t *resources, SDL_Renderer *renderer, world_t *world) void load_texture_up_left(resources_t *resources, SDL_Renderer *renderer, world_t *world)
{ {
SDL_RenderCopy(renderer, resources->soldier_aim_up_left, NULL, &world->soldier.DestSoldier); SDL_RenderCopy(renderer, resources->soldier_aim_up_left, NULL, &world->soldier.DestSoldier);
...@@ -449,6 +476,32 @@ void load_texture_run_right(resources_t *resources, SDL_Renderer *renderer, worl ...@@ -449,6 +476,32 @@ void load_texture_run_right(resources_t *resources, SDL_Renderer *renderer, worl
} }
} }
void load_texture_run_right_enemy(resources_t *resources, SDL_Renderer *renderer, enemy_t *enemy)
{
if (enemy->type == 1)
{
SDL_RenderCopy(renderer, resources->enemyT1_run_right[enemy->state], NULL, &enemy->DestEnemy);
}else if (enemy->type == 2)
{
SDL_RenderCopy(renderer, resources->enemyT2_run_right[enemy->state], NULL, &enemy->DestEnemy);
}else{
SDL_RenderCopy(renderer, resources->enemyT3_run_right[enemy->state], NULL, &enemy->DestEnemy);
}
}
void load_texture_run_left_enemy(resources_t *resources, SDL_Renderer *renderer, enemy_t *enemy)
{
if (enemy->type == 1)
{
SDL_RenderCopy(renderer, resources->enemyT1_run_left[enemy->state], NULL, &enemy->DestEnemy);
}else if (enemy->type == 2)
{
SDL_RenderCopy(renderer, resources->enemyT2_run_left[enemy->state], NULL, &enemy->DestEnemy);
}else{
SDL_RenderCopy(renderer, resources->enemyT3_run_left[enemy->state], NULL, &enemy->DestEnemy);
}
}
void load_texture_jump_right(resources_t *resources, SDL_Renderer *renderer, world_t *world) void load_texture_jump_right(resources_t *resources, SDL_Renderer *renderer, world_t *world)
{ {
if(world->soldier.jump_counter <= 7) if(world->soldier.jump_counter <= 7)
...@@ -507,7 +560,7 @@ void load_texture_crouch_right(resources_t *resources, SDL_Renderer *renderer, w ...@@ -507,7 +560,7 @@ void load_texture_crouch_right(resources_t *resources, SDL_Renderer *renderer, w
SDL_RenderCopy(renderer, resources->soldier_crouch_right, NULL, &world->soldier.DestSoldier); SDL_RenderCopy(renderer, resources->soldier_crouch_right, NULL, &world->soldier.DestSoldier);
} }
void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t *world) /*void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t *world)
{ {
SDL_RenderCopy(renderer, resources->enemy, NULL, &world->enemy.DestEnemy); SDL_RenderCopy(renderer, resources->enemy, NULL, &world->enemy.DestEnemy);
} }
...@@ -515,7 +568,7 @@ void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t ...@@ -515,7 +568,7 @@ void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t
void load_texture_enemies(resources_t *resources, SDL_Renderer *renderer, world_t *world, int i) 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); 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) void load_texture_powerUp(resources_t *resources, SDL_Renderer *renderer, world_t *world)
{ {
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h> #include <SDL2/SDL_ttf.h>
#include <string.h>
#include "world_data.h" #include "world_data.h"
struct resources_s struct resources_s
...@@ -26,7 +27,12 @@ struct resources_s ...@@ -26,7 +27,12 @@ struct resources_s
SDL_Texture* soldier_aim_up_right; SDL_Texture* soldier_aim_up_right;
SDL_Texture* soldier_crouch_left; SDL_Texture* soldier_crouch_left;
SDL_Texture* soldier_crouch_right; SDL_Texture* soldier_crouch_right;
SDL_Texture* enemy; SDL_Texture* enemyT1_run_left[10];
SDL_Texture* enemyT1_run_right[10];
SDL_Texture* enemyT2_run_left[10];
SDL_Texture* enemyT2_run_right[10];
SDL_Texture* enemyT3_run_left[10];
SDL_Texture* enemyT3_run_right[10];
SDL_Texture* *enemies; SDL_Texture* *enemies;
SDL_Texture* powerUp; SDL_Texture* powerUp;
SDL_Texture* plane; SDL_Texture* plane;
...@@ -34,6 +40,7 @@ struct resources_s ...@@ -34,6 +40,7 @@ struct resources_s
SDL_Texture* bullet; /*!< resources liée à l'image des balles. */ SDL_Texture* bullet; /*!< resources liée à l'image des balles. */
TTF_Font* font; TTF_Font* font;
int cpt;
}; };
typedef struct resources_s resources_t; typedef struct resources_s resources_t;
...@@ -46,11 +53,11 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour ...@@ -46,11 +53,11 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world); void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
void init_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world); //void init_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
void realloc_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world); //void realloc_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
void clear_enemies_ressources(resources_t *resources,int nbEnemies); //void clear_enemies_ressources(resources_t *resources,int nbEnemies);
void destroy_textures(resources_t *resources, world_t *world); void destroy_textures(resources_t *resources, world_t *world);
...@@ -78,9 +85,9 @@ void load_texture_crouch_right(resources_t *resources, SDL_Renderer *renderer, w ...@@ -78,9 +85,9 @@ void load_texture_crouch_right(resources_t *resources, SDL_Renderer *renderer, w
void load_texture_jump_right(resources_t *resources, SDL_Renderer *renderer, world_t *world); void load_texture_jump_right(resources_t *resources, SDL_Renderer *renderer, world_t *world);
void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t *world); //void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t *world);
void load_texture_enemies(resources_t *resources, SDL_Renderer *renderer, world_t *world, int i); //void load_texture_enemies(resources_t *resources, SDL_Renderer *renderer, world_t *world, int i);
void load_texture_powerUp(resources_t *resources, SDL_Renderer *renderer, world_t *world); void load_texture_powerUp(resources_t *resources, SDL_Renderer *renderer, world_t *world);
...@@ -94,4 +101,8 @@ void apply_text(SDL_Renderer *renderer,int x, int y, int w, int h, const char *t ...@@ -94,4 +101,8 @@ void apply_text(SDL_Renderer *renderer,int x, int y, int w, int h, const char *t
void clean_font(TTF_Font * font); void clean_font(TTF_Font * font);
void load_texture_run_right_enemy(resources_t *resources, SDL_Renderer *renderer, enemy_t *enemy);
void load_texture_run_left_enemy(resources_t *resources, SDL_Renderer *renderer, enemy_t *enemy);
#endif #endif
...@@ -32,6 +32,7 @@ void init_enemy(enemy_t *enemy) ...@@ -32,6 +32,7 @@ void init_enemy(enemy_t *enemy)
} }
enemy->is_moving = 0; enemy->is_moving = 0;
enemy->drop = 0; enemy->drop = 0;
enemy->state = 0;
} }
...@@ -113,10 +114,34 @@ void enemy_walk(enemy_t *enemy,soldier_t *soldier) ...@@ -113,10 +114,34 @@ void enemy_walk(enemy_t *enemy,soldier_t *soldier)
{ {
if(soldier->sprite.x > enemy->sprite.x){ if(soldier->sprite.x > enemy->sprite.x){
enemy->sprite.x += enemy->sprite.v; enemy->sprite.x += enemy->sprite.v;
enemy->direction = 1; if (enemy->direction == 1)
{
if (enemy->state == 9)
{
enemy->state = 0;
}else{
enemy->state++;
}
enemy->direction = 1;
}else{
enemy->state = 0;
enemy->direction = 1;
}
}else{ }else{
enemy->sprite.x -= enemy->sprite.v; enemy->sprite.x -= enemy->sprite.v;
enemy->direction = -1; if (enemy->direction == -1)
{
if (enemy->state == 9)
{
enemy->state = 0;
}else{
enemy->state++;
}
enemy->direction = -1;
}else{
enemy->state = 0;
enemy->direction = -1;
}
} }
enemy->powerUP.sprite.x = enemy->sprite.x; enemy->powerUP.sprite.x = enemy->sprite.x;
enemy->powerUP.DestPowerUP.x = enemy->powerUP.sprite.x; enemy->powerUP.DestPowerUP.x = enemy->powerUP.sprite.x;
......
...@@ -19,6 +19,7 @@ struct enemy_s{ ...@@ -19,6 +19,7 @@ struct enemy_s{
int drop; int drop;
powerUP_t powerUP; powerUP_t powerUP;
int direction; int direction;
int state;
}; };
/** /**
* \brief Type qui correspond au paramètre du soldat * \brief Type qui correspond au paramètre du soldat
......
/Vie du joueur au début /Vie du joueur au début
10 10
/Nombre d'ennemis au début /Nombre d'ennemis au début
4 23
/Nombre d'ennemis en plus à chaque manche /Nombre d'ennemis en plus à chaque manche
1 1
/Nombre de balles /Nombre de balles
......
resources/Player/Left/Jump/Jump0Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump1Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump2Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump3Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump4Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump5Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump6Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump7Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump8Left.bmp

4.27 KiB

resources/Player/Left/Jump/Jump9Left.bmp

4.27 KiB

resources/Player/Left/Run/Run0Left.bmp

5.21 KiB

resources/Player/Left/Run/Run1Left.bmp

5.21 KiB

resources/Player/Left/Run/Run2Left.bmp

5.21 KiB

resources/Player/Left/Run/Run3Left.bmp

5.21 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment