Skip to content
Snippets Groups Projects
Commit a82c40d2 authored by SmallIshMink's avatar SmallIshMink
Browse files

Ajout isOverScreen (2)

parent c123734d
Branches
No related tags found
No related merge requests found
#include "../../sdl2-light.h"
#include "../World/world.h"
#include "../../constante.c"
#include <stdio.h>
#include <stdlib.h>
#ifndef DISPLAY_H
#define DISPLAY_H
......
......@@ -8,6 +8,14 @@
void update_data(world_t *world){
world->ligneArriver->y += INITIAL_SPEED - world->speed_h;
world->mur->y += INITIAL_SPEED - world->speed_h;
if (isOverScreen(world->vaisseau)){
if (world->vaisseau->x < 0) world->vaisseau->x = 0;
if (world->vaisseau->x + world->vaisseau->w > SCREEN_WIDTH) world->vaisseau->x = SCREEN_WIDTH - world->vaisseau->w;
if (world->vaisseau->y < 0) world->vaisseau->y = 0;
if (world->vaisseau->y + world->vaisseau->h > SCREEN_HEIGHT) world->vaisseau->y = SCREEN_HEIGHT - world->vaisseau->h;
}
}
/**
......@@ -20,6 +28,13 @@ int is_game_over(world_t *world){
return world->gameover;
}
int isOverScreen(sprite_t *sprite){
if(sprite->x < 0 || sprite->x + sprite->w > SCREEN_WIDTH || sprite->y < 0 || sprite->y + sprite->h > SCREEN_HEIGHT){
return 1;
}
return 0;
}
void print_sprite(sprite_t *sprite){
printf("x = %d, y = %d, w = %d, h = %d\n", sprite->x, sprite->y, sprite->w, sprite->h);
}
......
#include <stdio.h>
#include <stdlib.h>
/**
* \brief Fichier qui contient les données du monde du jeu
*
......@@ -41,6 +42,13 @@ struct world_s{
typedef struct world_s world_t;
void update_data(world_t *world);
/**
* \brief La fonction indique si le jeu est fini en fonction des données du monde
*
* \param sprite
* \return int 0 si le sprite est dans l'écran, 1 sinon
*/
int isOverScreen(sprite_t *sprite);
int is_game_over(world_t *world);
......@@ -50,6 +58,6 @@ sprite_t *init_sprite(sprite_t *sprite, int x, int y, int w, int h);
void init_data(world_t * world);
void free_data(world_t * world);
void clean_data(world_t * world);
#endif
No preview for this file type
......@@ -8,6 +8,7 @@
#include "sdl2-light.h"
#include <stdio.h>
#include <stdlib.h>
#include "library/Display/Display.h"
#include "library/World/world.h"
......@@ -41,6 +42,7 @@ void handle_events(SDL_Event *event,world_t *world){
switch (event->key.keysym.sym)
{
case SDLK_d:
world->vaisseau->x += MOVING_STEP;
break;
case SDLK_q:
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment