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

Ajout animation des zombies

parents 04a6e006 37ffcf0d
No related branches found
No related tags found
No related merge requests found
......@@ -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
*/
......
......@@ -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);
......
......@@ -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;
......
......@@ -43,4 +43,4 @@ void init_enemyType3(enemy_t *enemy);
void init_enemyType4(enemy_t *enemy);
#endif
\ No newline at end of file
#endif
......@@ -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();
......
......@@ -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;
......
......@@ -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
......
/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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment