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

Avant le niveau 5 (2)

parent 94a8c631
No related branches found
No related tags found
No related merge requests found
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\msys64\\mingw64\\bin\\gcc.exe",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "windows-gcc-x64",
"configurationProvider": "ms-vscode.makefile-tools"
}
],
"version": 4
}
\ No newline at end of file
......@@ -2,6 +2,9 @@
"files.associations": {
"sdl2-light.h": "c",
"world.h": "c",
"display.h": "c"
}
"display.h": "c",
"stdio.h": "c",
"sprites.h": "c"
},
"C_Cpp.errorSquiggles": "disabled"
}
\ No newline at end of file
......@@ -3,8 +3,8 @@ LDFLAGS = -lm -lmingw32 -lSDL2main -lSDL2
SDL2_INCLUDE_DIR = src/include
SDL2_LIBRARIES_DIR = src/lib
INC = sdl2-light.h library/Display/Display.h library/World/world.h
SRC = main.c sdl2-light.c library/Display/Display.c library/World/world.c
INC = sdl2-light.h library/Display/Display.h library/World/world.h library/Sprites/sprites.h
SRC = main.c sdl2-light.c library/Display/Display.c library/World/world.c library/Sprites/sprites.c
OBJ = $(SRC:%.c=%.o)
......
#include "sprites.h"
#include "../../constante.c"
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);
}
sprite_t *init_sprite(sprite_t *sprite, int x, int y, int w, int h){
sprite = malloc(sizeof(sprite_t));
sprite->x = x;
sprite->y = y;
sprite->w = w;
sprite->h = h;
return sprite;
}
int sprites_collide(sprite_t *sp1, sprite_t *sp2){
if (sp1->x + sp1->w < sp2->x){
return 0;
}else if(sp1->x > sp2->x + sp2->w){
return 0;
}else if(sp1->y + sp1->h < sp2->y){
return 0;
}else if(sp1->y > sp2->y + sp2->h){
return 0;
}
return 1;
}
\ No newline at end of file
/**
* \brief Le fichier qui gères les sprites
*/
#include <stdio.h>
#include <stdlib.h>
#ifndef SPRITES_H
#define SPRITES_H
/**
* \brief Représentation pour stocker les données du vaisseau ou autre sprites
*
*/
struct sprite_s{
int x;
int y;
int w;
int h;
};
typedef struct sprite_s sprite_t;
int isOverScreen(sprite_t *sprite);
void print_sprite(sprite_t *sprite);
/**
* \brief La fonction initialise les sprites du jeu
*
* \param sprite
* \param x
* \param y
* \param w
* \param h
*/
sprite_t *init_sprite(sprite_t *sprite, int x, int y, int w, int h);
/**
* \brief La fonction libère les données du sprite
*
* \param sp1
* \param sp2
* \return int 0 si les sprites ne se touchent pas, 1 sinon
*/
int sprites_collide(sprite_t *sp1, sprite_t *sp2);
#endif
\ No newline at end of file
File added
#include <stdio.h>
#include <stdlib.h>
#include "../Sprites/sprites.h"
#include "../../constante.c"
/**
* \brief Fichier qui contient les données du monde du jeu
*
*/
#include "../../constante.c"
#ifndef WORLD_H
#define WORLD_H
/**
* \brief Représentation pour stocker les données du vaisseau ou autre sprites
*
*/
struct sprite_s{
int x;
int y;
int w;
int h;
};
typedef struct sprite_s sprite_t;
/**
* \brief Représentation du monde du jeu
......@@ -48,16 +35,23 @@ void update_data(world_t *world);
* \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);
void print_sprite(sprite_t *sprite);
sprite_t *init_sprite(sprite_t *sprite, int x, int y, int w, int h);
/**
* \brief La fonction initialise les données du monde
*
* \param world
*/
void init_data(world_t * world);
/**
* \brief La fonction libère les données du monde
*
* \param world
*/
void clean_data(world_t * world);
void handle_sprite_collide(sprite_t *sp1, sprite_t *sp2, world_t *world, int make_disappear);
#endif
No preview for this file type
......@@ -49,11 +49,9 @@ void handle_events(SDL_Event *event,world_t *world){
world->vaisseau->x -= MOVING_STEP;
break;
case SDLK_z:
world->vaisseau->y -= MOVING_STEP;
world->speed_h = 3;
break;
case SDLK_s:
world->vaisseau->y += MOVING_STEP;
world->speed_h = -3;
break;
case SDLK_ESCAPE:
......
No preview for this file type
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