Skip to content
Snippets Groups Projects
Commit e4548364 authored by suck5u's avatar suck5u
Browse files

Optimisation et ajout affichage score

parent b84d1b54
No related branches found
No related tags found
No related merge requests found
......@@ -133,13 +133,6 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
load_texture_powerUp_type1(resources, renderer, &world->supplying.powerUP);
}
}
if(world->gameover == 1)
{
destroy_textures(resources,world);
}
char manche[3];
sprintf(manche,"%d",world->rounds.round_number);
......@@ -150,6 +143,12 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
char ammo[3];
sprintf(ammo,"%d",30-world->soldier.present_bullet);
char score[8];
sprintf(score,"%d",world->score);
char highScore[8];
sprintf(highScore,"%d",world->highScore);
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);
......@@ -157,6 +156,10 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
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);
apply_text(renderer, 5 , 80, 100, 25, "Score :", resources->font);
apply_text(renderer, 115 , 80, 20, 25, score, resources->font);
apply_text(renderer, 5 , 105 , 100 , 25 ,"Meilleur score :", resources->font);
apply_text(renderer, 115 , 105 , 20 , 25 ,highScore, resources->font);
}
......@@ -245,7 +248,6 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo
resources->plane = charger_image_transparente("../resources/Plane.bmp", renderer, 255,0,255);
resources->font = load_font("../resources/arial.ttf",14);
}
......
......@@ -171,7 +171,6 @@ void enemy_dead(enemy_t *enemy,soldier_t *soldier, int *score)
{
set_visible(&enemy->powerUP.sprite);
enemy->drop=1;
print_sprite(&enemy->powerUP.sprite);
}
}
......
......@@ -50,8 +50,6 @@ int main(void)
}
t1 = t2;
//Evenements clavier
handle_events(&event,&world);
......
......@@ -78,13 +78,11 @@ void soldier_touch_powerUP(powerUP_t *powerUP,soldier_t *soldier)
void apply_effect(powerUP_t *powerUP,soldier_t *soldier,int drop){
if(powerUP->sprite.is_visible == 0 && powerUP->apply_effect == 0 && drop == 1){
print_sprite(&soldier->sprite);
if (powerUP->type == 0)
{
soldier->sprite.v = soldier->sprite.v + 10;
}else{
soldier->sprite.hp = soldier->sprite.hp + 10;
print_sprite(&soldier->sprite);
}
powerUP->apply_effect = 1;
}
......
......@@ -23,13 +23,11 @@ void initFirstRound(round_t *round, int nbEnemies, int incrementation, int round
round->counter = 0;
round->index_to_spawn = 0;
round->is_new_round = 0;
//round->gameFinished = 0;
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]);
}
printf("Manche : %d Ennemis : %d Incrementation : %d\n",round->round_number, round->number_enemies,round->incrementation);
}
//Actualiser qui se déplace
......@@ -53,44 +51,27 @@ void updateRound(round_t *round)
void nextRound(round_t *round)
{
round->round_number++;
printf("Manche %d\n",round->round_number);
round->number_enemies = round->number_enemies + round->incrementation;
round->index_to_spawn = 0;
round->counter = 0;
round->is_new_round = 1;
printf("nb enemies %d\n",round->number_enemies);
/*for (int i = 0; i < round->number_enemies*4; i++)
{
printf("avant %f i : %d\n",round->enemies[i].sprite.x,i);
}*/
//free(round->enemies);
createEnemies(round);
/*for (int i = 0; i < round->number_enemies; i++)
{
printf("apres %f i : %d\n",round->enemies[i].sprite.x,i);
}*/
}
//Créer nbEnemies
void createEnemies(round_t *round)
{
//round->enemies = (enemy_t*) realloc(round->enemies,sizeof(enemy_t)*round->number_enemies);
clearEnemies(round);
enemy_t *tab = (enemy_t*) malloc(round->number_enemies*sizeof(enemy_t));
free(round->enemies);
//round->enemies = NULL;
round->enemies = tab;
//free(tab);
for (int i = 0; i < round->number_enemies; i++)
{
init_enemy(&round->enemies[i]);
}
}
/*void clearEnemies(round_t *round)
void clearEnemies(round_t *round)
{
free(round->enemies);
round->enemies = NULL;
}*/
\ No newline at end of file
}
\ No newline at end of file
......@@ -28,6 +28,6 @@ void nextRound(round_t *round);
void createEnemies(round_t *round);
//void clearEnemies(round_t *round);
void clearEnemies(round_t *round);
#endif
\ No newline at end of file
......@@ -23,7 +23,7 @@ void init_soldier(soldier_t *soldier, int hp)
soldier->DestSoldier.y = soldier->sprite.y;
soldier->DestSoldier.w = SOLDIER_WIDTH;
soldier->DestSoldier.h = SOLDIER_HEIGHT;
soldier->DestBullet = malloc(sizeof(SDL_Rect)*NB_BULLET);
soldier->DestBullet = (SDL_Rect*) malloc(sizeof(SDL_Rect)*NB_BULLET);
soldier->time_bullet = TIME_BULLET;
init_bullet(soldier);
}
......
......@@ -119,7 +119,6 @@ void refresh_data(world_t *world)
world->rounds.enemies[i].DestEnemy.y = world->rounds.enemies[i].sprite.y;
//Si l'ennemi touche le soldat
//enemy_touch_soldier(&world->rounds.enemies[i],&world->soldier,&world->score);
//enemy_touch_soldier(&world->rounds.enemies[i],&world->soldier);
enemy_dead(&world->rounds.enemies[i],&world->soldier,&world->score);
}
soldier_touch_powerUP(&world->rounds.enemies[i].powerUP,&world->soldier);
......@@ -222,8 +221,9 @@ void handle_events(SDL_Event *event,world_t *world)
//Libère la mémoire du tableau DestBullet pour l'affichage
free(world->soldier.DestBullet);
//Libère le tableau d'ennemis
//clearEnemies(&world->rounds);
free(world->rounds.enemies);
clearEnemies(&world->rounds);
//free(world->rounds.enemies);
//world->rounds.enemies = NULL;
world->gameover = 1;
}
......
/Vie du joueur au début
7
30
/Nombre d'ennemis au début
21
5
/Nombre d'ennemis en plus à chaque manche
1
/Numéro de la manche
33
5
/Meilleur score
82
136
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment