Skip to content
Snippets Groups Projects
Commit 5c1d20fd authored by vautrin33u's avatar vautrin33u
Browse files

Gestion des murs, génération de la map MaJ, sprite du joueur apparait,...

Gestion des murs, génération de la map MaJ, sprite du joueur apparait, plusieurs fonctions gérant SDL_Rect et l'affichage des sprite mis en place
parent 62705a29
Branches
No related tags found
No related merge requests found
CC = gcc CC = gcc
CFLAGS = -W -Wall -ansi -std=c99 -g CFLAGS = -W -Wall -ansi -std=c99 -g
LIBS = -L./SDL2_ttf/.libs LIBS = -L./SDL2_ttf/.libs
LDFLAGS = `sdl2-config --cflags --libs` -lSDL2_ttf LDFLAGS = `sdl2-config --cflags --libs` -lSDL2_ttf
INCLUDES = -I./SDL2_ttf INCLUDES = -I./SDL2_ttf
......
This diff is collapsed.
/** /**
* \file constante. * \file constantes.h
* \brief header - constantes * \brief header - constantes
* \author Guillaume Vautrin * \author Guillaume Vautrin
* \version 1.0 * \version 1.0
...@@ -87,6 +87,12 @@ ...@@ -87,6 +87,12 @@
* */ * */
#define BLOC_COMPT_SIZE 100 #define BLOC_COMPT_SIZE 100
/**
* @brief Nombre de comptoire dans le niveau 1
*
*/
#define NB_COMPT_1 10
/** /**
* \brief Largeur de la zone d'envoi * \brief Largeur de la zone d'envoi
* */ * */
......
...@@ -59,7 +59,7 @@ void taille_fichier (const char* nomFichier, int* nbLig, int* nbCol){ ...@@ -59,7 +59,7 @@ void taille_fichier (const char* nomFichier, int* nbLig, int* nbCol){
fclose(fichier); fclose(fichier);
} }
char** lire_fichier (const char* nomFichier){ //malfonctionne char** lire_fichier (const char* nomFichier){
FILE* fichier = fopen(nomFichier, "r"); FILE* fichier = fopen(nomFichier, "r");
if (fichier == NULL){ if (fichier == NULL){
printf("Erreur: fichier inaccessible \n"); printf("Erreur: fichier inaccessible \n");
......
...@@ -9,8 +9,20 @@ ...@@ -9,8 +9,20 @@
#include "graphisme.h" #include "graphisme.h"
void clean_textures(textures_t *textures){ void clean_textures(textures_t *textures){
if (textures->joueur != NULL){
SDL_DestroyTexture(textures->joueur);
}
if (textures->fond != NULL){
SDL_DestroyTexture(textures->fond);
}
} }
void nettoyage_graphisme (SDL_Renderer *renderer, textures_t *textures, SDL_Window *fenetre){
clean_textures(textures);
SDL_RenderClear(renderer);
SDL_DestroyWindow(fenetre);
}
void init_textures (SDL_Renderer *renderer, textures_t *textures, TTF_Font *font){ void init_textures (SDL_Renderer *renderer, textures_t *textures, TTF_Font *font){
textures->fond = charger_image("Ressources/fond1.bmp", renderer); textures->fond = charger_image("Ressources/fond1.bmp", renderer);
...@@ -25,13 +37,23 @@ void apply_background (SDL_Renderer *renderer, textures_t *textures){ ...@@ -25,13 +37,23 @@ void apply_background (SDL_Renderer *renderer, textures_t *textures){
} }
} }
void apply_player (SDL_Renderer *renderer, textures_t *textures){ void apply_sprite (SDL_Renderer *renderer, SDL_Texture *image, sprite_t *sprite){
// applique la texture du joueur // applique la texture d'un sprite
SDL_Rect SrC = create_SDL_rect_from_texture(image);
SDL_Rect Des = create_SDL_rect_from_sprite(sprite);
SDL_RenderCopy(renderer, image, &SrC , &Des);
}
void apply_graphics (SDL_Renderer *renderer, textures_t *textures, world_t *world){
//maj les texture selon la position des éléments différents
if (textures->joueur !=NULL){ if (textures->joueur !=NULL){
SDL_RenderCopy(renderer, textures->fond, create_SDL_rect_from_texture(textures->joueur), NULL); // faux apply_sprite (renderer, textures->joueur, &world->joueur);
} }
} }
void colorier_rect (SDL_Renderer *renderer, SDL_Rect rectangle, SDL_Color couleur){ void colorier_rect (SDL_Renderer *renderer, SDL_Rect rectangle, SDL_Color couleur){
SDL_SetRenderDrawColor(renderer, couleur.r, couleur.g, couleur.b, couleur.a); SDL_SetRenderDrawColor(renderer, couleur.r, couleur.g, couleur.b, couleur.a);
for (int i=0; i<rectangle.y; i++){ for (int i=0; i<rectangle.y; i++){
...@@ -41,33 +63,34 @@ void colorier_rect (SDL_Renderer *renderer, SDL_Rect rectangle, SDL_Color couleu ...@@ -41,33 +63,34 @@ void colorier_rect (SDL_Renderer *renderer, SDL_Rect rectangle, SDL_Color couleu
} }
} }
const SDL_Rect * create_SDL_rect_from_texture (SDL_Texture * texture){ SDL_Rect create_SDL_rect_from_texture (SDL_Texture * texture){
//Permet de créer un SDL_rect retournant la texture de la taille de la texture (SOURCE) //Permet de créer un SDL_rect retournant la texture de la taille de la texture (SOURCE)
SDL_Rect* rectangle;
int w; int w;
int h; int h;
SDL_QueryTexture(texture, NULL, NULL, &w, &h); SDL_QueryTexture(texture, NULL, NULL, &w, &h);
return create_SDL_rect (0, 0, w, h); return create_SDL_rect (0, 0, w, h);
} }
const SDL_Rect* create_SDL_rect (int x, int y, int w, int h){ SDL_Rect create_SDL_rect (int x, int y, int w, int h){
//permet de créer un SDL_rect en connaissant déjà les coordonnées //permet de créer un SDL_rect en connaissant déjà les coordonnées
SDL_Rect* rectangle; SDL_Rect rectangle;
rectangle->x = x; rectangle.x = x;
rectangle->y = y; rectangle.y = y;
rectangle->w = w; rectangle.w = w;
rectangle->h = h; rectangle.h = h;
return rectangle; return rectangle;
}
SDL_Rect create_SDL_rect_from_sprite (sprite_t* sprite){
//Permet de créer un SDL_rect basé sur les données d'un sprite
return create_SDL_rect (sprite->x, sprite->y, sprite->w, sprite->h);
} }
void update_graphics (SDL_Renderer *renderer, world_t *world, textures_t *textures){ void update_graphics (SDL_Renderer *renderer, world_t *world, textures_t *textures){
SDL_RenderClear(renderer); // permet de vider le Renderer (ecran) de toutes les textures SDL_RenderClear(renderer); // permet de vider le Renderer (ecran) de toutes les textures
apply_background (renderer, textures); apply_background (renderer, textures);
apply_graphics(renderer, textures, world);
SDL_RenderPresent(renderer); // Récupère les infos actualisés de render et les affiches SDL_RenderPresent(renderer); // Récupère les infos actualisés de render et les affiches
} }
\ No newline at end of file
...@@ -31,6 +31,15 @@ typedef struct textures_s textures_t; ...@@ -31,6 +31,15 @@ typedef struct textures_s textures_t;
*/ */
void clean_textures(textures_t *textures); void clean_textures(textures_t *textures);
/**
* @brief Nettoyage des éléments graphiques en fin de jeu
*
* @param renderer
* @param textures
* @param fenetre
*/
void nettoyage_graphisme (SDL_Renderer *renderer, textures_t *textures, SDL_Window *fenetre);
/** /**
* \brief La fonction initialise les texures * \brief La fonction initialise les texures
* \param renderer la surface correspondant à l'écran de jeu * \param renderer la surface correspondant à l'écran de jeu
...@@ -46,6 +55,24 @@ void init_textures (SDL_Renderer *renderer, textures_t *textures, TTF_Font *font ...@@ -46,6 +55,24 @@ void init_textures (SDL_Renderer *renderer, textures_t *textures, TTF_Font *font
*/ */
void apply_background (SDL_Renderer *renderer, textures_t *textures); void apply_background (SDL_Renderer *renderer, textures_t *textures);
/**
* @brief Applique une texture sur un sprite
*
* @param renderer surface écran de jeu
* @param image SDL_Texture du sprite
* @param sprite données du sprite
*/
void apply_sprite (SDL_Renderer *renderer, SDL_Texture * image, sprite_t *sprite);
/**
* @brief Applique tous les éléments graphiques sur le renderer
*
* @param renderer surface de l'écran de jeu
* @param textures textures des sprites
* @param world données du monde dont les sprites
*/
void apply_graphics (SDL_Renderer *renderer, textures_t *textures, world_t *world);
/** /**
* @brief Créer un objet SDL_rect * @brief Créer un objet SDL_rect
* *
...@@ -53,18 +80,25 @@ void apply_background (SDL_Renderer *renderer, textures_t *textures); ...@@ -53,18 +80,25 @@ void apply_background (SDL_Renderer *renderer, textures_t *textures);
* @param y ordonnée * @param y ordonnée
* @param w largeur * @param w largeur
* @param h hauteur * @param h hauteur
* @return SDL_Rect * @return const SDL_Rect*
*/ */
const SDL_Rect * create_SDL_rect (int x, int y, int w, int h); SDL_Rect create_SDL_rect (int x, int y, int w, int h);
/** /**
* @brief Créer un SDL_rect retournant la texture de la taille de la texture (SOURCE) * @brief Créer un SDL_rect retournant la texture de la taille de la texture (SOURCE)
* *
* @param texture * @param texture
* @return SDL_Rect représentant l'image source tel quel * @return const SDL_Rect* représentant l'image source tel quel
*/ */
const SDL_Rect * create_SDL_rect_from_texture (SDL_Texture * texture); SDL_Rect create_SDL_rect_from_texture (SDL_Texture * texture);
/**
* @brief Créer un SDL_rect selon les données d'un sprite (DEST)
*
* @param sprite
* @return const SDL_Rect*
*/
SDL_Rect create_SDL_rect_from_sprite (sprite_t * sprite);
/** /**
* @brief Colorie un rectangle d'une couleur donnée * @brief Colorie un rectangle d'une couleur donnée
* *
......
...@@ -21,6 +21,13 @@ void init_data(world_t * world){ //faux ...@@ -21,6 +21,13 @@ void init_data(world_t * world){ //faux
//Charge la carte //Charge la carte
world->map = init_map(); world->map = init_map();
//Complète automatiquement les positions d'un meuble unique sur la map
build_sprite_unique(&world->frigo, 'F', FRIGO_LARGEUR, FRIGO_HAUTEUR, world->map);
build_sprite_unique(&world->four, 'f', FOUR_LARGEUR, FOUR_HAUTEUR, world->map);
build_sprite_unique(&world->lavabo, 'L', LAVABO_LARGEUR, LAVABO_HAUTEUR, world->map);
build_sprite_unique(&world->poubelle, 't', POUBELLE_LARGEUR, POUBELLE_HAUTEUR, world->map);
build_sprite_unique(&world->envoi, 'e', ZONE_ENVOI_LARGEUR, ZONE_ENVOI_HAUTEUR, world->map);
build_sprites_tab(&world, 'X', BLOC_COMPT_SIZE, BLOC_COMPT_SIZE);
/* /*
...@@ -33,6 +40,54 @@ void init_data(world_t * world){ //faux ...@@ -33,6 +40,54 @@ void init_data(world_t * world){ //faux
} }
void build_sprite_unique (sprite_t *sprite, char nom, int largeur, int hauteur, char** map){
//Ne gère la présence que d'un sprite du même type sur la map
int x = 0;
int y = 0;
int comptX = 0;
int comptY = 0;
for (int i=0; i<SCREEN_HEIGHT; i++){
for (int j=0; j<SCREEN_WIDTH; j++){
if (map[i][j] == nom){
//On compte le nombre de char correspondant à une ligne dans le tableau
y = i;
x = j;
break;
}
}
}
while (map[y][x]== nom){ // On regarde jusqu'où s'étend la taille du sprite (width)
comptX++;
//printf("\n %d", comptX);
x++;
}
x -= comptX; //retour au point de départ
while (map[y][x] == nom){ // On regarde jusqu'où s'étend la taille du sprite (height)
comptY++;
y--;
}
y += comptY; // retour au point de départ
//Gestion des positions possibles.
if (comptX == largeur && comptY == hauteur){
init_sprite(sprite, nom, x, y, largeur, hauteur, 0, 0);
}
if (comptX == hauteur && comptY == largeur){
init_sprite(sprite, nom, x, y, hauteur, largeur, 0, 0);
}
}
void build_sprites_tab (world_t* world, char nomSprite, int largeur, int hauteur){
for (int i=0; i<SCREEN_HEIGHT; i++){
for (int j=0; j<SCREEN_WIDTH; j++){
//Parcours du tableau pour repérer le premier caractère d'un
}
}
}
void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v, int state){ //faux void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v, int state){ //faux
//La fonction initialise tous les composants d'un sprite //La fonction initialise tous les composants d'un sprite
sprite->x = x; sprite->x = x;
...@@ -92,24 +147,24 @@ int estFini(world_t *world){ ...@@ -92,24 +147,24 @@ int estFini(world_t *world){
void limites_externes (sprite_t *sprite, world_t *world){ void limites_externes (sprite_t *sprite, world_t *world){
//Défini les limites selon les murs //Défini les limites selon les murs
if (sprite->x > (SCREEN_WIDTH*0.9)){ if (sprite->x + sprite->w > SCREEN_WIDTH-SIZE_MUR){
//mur droite //mur droite
sprite->x = (SCREEN_WIDTH*0.9) - sprite->w/2; sprite->x = SCREEN_WIDTH - (SIZE_MUR + sprite->w);
} }
if (sprite->x < (SCREEN_WIDTH*0.1)){ if (sprite->x < SIZE_MUR){
//mur gauche //mur gauche
sprite->x = (SCREEN_WIDTH*0.1); sprite->x = SIZE_MUR;
} }
if (sprite->y > (SCREEN_HEIGHT*0.9)){ if (sprite->y + sprite->h > SCREEN_HEIGHT-SIZE_MUR){
//mur bas //mur bas
sprite->y = (SCREEN_HEIGHT*0.9) - sprite->w; sprite->y = SCREEN_HEIGHT - (SIZE_MUR + sprite->h);
} }
if (sprite->y < (SCREEN_HEIGHT*0.1)){ if (sprite->y < SIZE_MUR){
//mur haut //mur haut
sprite->y = (SCREEN_HEIGHT*0.1); sprite->y = SIZE_MUR;
} }
} }
...@@ -220,26 +275,28 @@ void gestion_events(SDL_Event *event, world_t *world){ ...@@ -220,26 +275,28 @@ void gestion_events(SDL_Event *event, world_t *world){
world->gameover = 1; break; world->gameover = 1; break;
//Déplacement du joueur //Déplacement du joueur
case SDLK_UP: case SDLK_UP:
deplace_haut(&world->joueur, world); world->joueur.y -= world->joueur.v;
//deplace_haut(&world->joueur, world);
break; break;
case SDLK_DOWN: case SDLK_DOWN:
deplace_bas(&world->joueur, world); world->joueur.y += world->joueur.v;
//deplace_bas(&world->joueur, world);
break; break;
case SDLK_RIGHT: case SDLK_RIGHT:
deplace_droite(&world->joueur, world); world->joueur.x += world->joueur.v;
//deplace_droite(&world->joueur, world);
break; break;
case SDLK_LEFT: case SDLK_LEFT:
deplace_gauche(&world->joueur, world); world->joueur.x -= world->joueur.v;
//deplace_gauche(&world->joueur, world);
break; break;
//case SDLK_SPACE: //case SDLK_SPACE:
} }
} }
printf("Sprite joueur : x : %d | y: %d \n", world->joueur.x, world->joueur.y);
} }
char** init_map (){ char** init_map (){
...@@ -247,41 +304,42 @@ char** init_map (){ ...@@ -247,41 +304,42 @@ char** init_map (){
int hauteur = SCREEN_HEIGHT; int hauteur = SCREEN_HEIGHT;
int largeur = SCREEN_WIDTH; int largeur = SCREEN_WIDTH;
char** tab = allouer_tab_2D(hauteur, largeur); char** tab = allouer_tab_2D(hauteur, largeur);
for (int i=0; i<hauteur; i++){ for (int i=0; i<hauteur; i++){
for (int j=0; j<largeur; j++){ for (int j=0; j<largeur; j++){
tab[i][j] = ' '; //Rempli les zones accessibles avec un espaces tab[i][j] = ' '; //Rempli les zones accessibles avec un espaces
//Limites extérieures du terrain remplis avec 'X' //Limites extérieures du terrain remplis avec 'X'
if (j< largeur*0.1 || j>= largeur*0.9 || i< hauteur*0.1 || i>= hauteur*0.9){ if (j< SIZE_MUR || j>= largeur-SIZE_MUR || i< SIZE_MUR || i>= hauteur-SIZE_MUR){
tab[i][j] = 'X'; tab[i][j] = 'X';
} }
// Zone de déplacement interdit au joueurs; zones de travail: // Zone de déplacement interdit au joueurs; zones de travail:
if((j>=largeur*0.1 && j<largeur*0.2 && i>=hauteur*0.1 && i<hauteur*0.6) || (j>=largeur*0.1 && j<largeur*0.5 && i>=hauteur*0.1 && i<hauteur*0.2 ) || (j>=largeur*0.5 && j<largeur*0.6 && i>=hauteur*0.1 && i<hauteur*0.4)){ if((j>= SIZE_MUR && j<BLOC_COMPT_SIZE+SIZE_MUR && i>=SIZE_MUR && i<SIZE_MUR+ (3*BLOC_COMPT_SIZE)) || (j>=SIZE_MUR+BLOC_COMPT_SIZE && j<SIZE_MUR + (4*BLOC_COMPT_SIZE) && i>=SIZE_MUR && i<SIZE_MUR + BLOC_COMPT_SIZE) || (j>= SIZE_MUR + (4*BLOC_COMPT_SIZE) && j< SIZE_MUR + (5*BLOC_COMPT_SIZE) && i>= SIZE_MUR && i<SIZE_MUR + BLOC_COMPT_SIZE*3)){
tab[i][j] = 'P'; tab[i][j] = 'P';
} }
//Emplacement du frigo //Emplacement du frigo
if (j>=largeur*0.1 && j<largeur*0.4 && i>=hauteur*0.7 && i<hauteur*0.9){ if (j>=SIZE_MUR && j<SIZE_MUR+FRIGO_LARGEUR && i>=hauteur-(SIZE_MUR + FRIGO_HAUTEUR) && i<hauteur - SIZE_MUR){
tab[i][j] = 'F'; tab[i][j] = 'F';
} }
//Emplacement des fourneaux //Emplacement des fourneaux
if (j>=largeur*0.8 && j<largeur*0.9 && i>=hauteur*0.1 && i<hauteur*0.4){ if (j>=largeur-(SIZE_MUR+FOUR_HAUTEUR) && j<largeur-SIZE_MUR && i>=SIZE_MUR && i<SIZE_MUR+FOUR_LARGEUR){
tab[i][j] = 'f'; tab[i][j] = 'f';
} }
//Emplacement du lavabo //Emplacement du lavabo
if (j>=largeur*0.5 && j<largeur*0.8 && i>=hauteur*0.8 && i<hauteur*0.9){ if (j>=SIZE_MUR+(4*BLOC_COMPT_SIZE) && j<SIZE_MUR+(4*BLOC_COMPT_SIZE)+LAVABO_LARGEUR && i>=hauteur-(SIZE_MUR+BLOC_COMPT_SIZE) && i<hauteur-(SIZE_MUR+BLOC_COMPT_SIZE)+LAVABO_HAUTEUR){
tab[i][j] = 'L'; tab[i][j] = 'L';
} }
//Zone d'envoi //Zone d'envoi
if (j>=largeur*0.9 && j<largeur && i>=hauteur*0.5 && i<hauteur*0.7){ if (j>=largeur-ZONE_ENVOI_LARGEUR && j<largeur && i>=SIZE_MUR+(3*BLOC_COMPT_SIZE) && i<SIZE_MUR+(3*BLOC_COMPT_SIZE)+ZONE_ENVOI_HAUTEUR){
tab[i][j] = 'e'; tab[i][j] = 'e';
} }
//Poubelle //Poubelle
if (j>=largeur*0.8 && j<largeur*0.9 && i>=hauteur*0.8 && i<hauteur*0.9){ if (j>=largeur-(SIZE_MUR+BLOC_COMPT_SIZE) && j<largeur-(SIZE_MUR+BLOC_COMPT_SIZE)+POUBELLE_LARGEUR && i>=hauteur-(SIZE_MUR + POUBELLE_HAUTEUR) && i<hauteur-SIZE_MUR){
tab[i][j] = 't'; tab[i][j] = 't';
} }
} }
...@@ -295,7 +353,7 @@ void update_data (world_t *world){ ...@@ -295,7 +353,7 @@ void update_data (world_t *world){
limites_externes(&world->joueur, world); limites_externes(&world->joueur, world);
place_sprite_on_map(&world->joueur, world); place_sprite_on_map(&world->joueur, world);
//printf("Sprite joueur : x : %d | y: %d \n", world->joueur.x, world->joueur.y);
genere_fichier(nomSave, world->map, SCREEN_HEIGHT, SCREEN_WIDTH); genere_fichier(nomSave, world->map, SCREEN_HEIGHT, SCREEN_WIDTH);
} }
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "constantes.h" #include "constantes.h"
#include "math.h" #include "math.h"
#include "gestion_fichiers.h" #include "gestion_fichiers.h"
#include <string.h>
/** /**
...@@ -41,6 +42,11 @@ struct world_s{ ...@@ -41,6 +42,11 @@ struct world_s{
int gameover; /*!< Champ indiquant si l'on est à la fin du jeu */ int gameover; /*!< Champ indiquant si l'on est à la fin du jeu */
sprite_t joueur; /*!< Sprite du joueur */ sprite_t joueur; /*!< Sprite du joueur */
sprite_t four; /*!< Sprite du four */ sprite_t four; /*!< Sprite du four */
sprite_t frigo; /*< Sprite du frigo */
sprite_t lavabo; /*< Sprite du lavabo */
sprite_t envoi; /*< Sprite de la zone d'envoi */
sprite_t poubelle; /*< Sprite de la poubelle */
sprite_t comptoire[NB_COMPT_1]; /*< Tableau de sprite de comptoir */
sprite_t plat[NB_PLAT]; /*!< Tableau des sprites type de plats */ sprite_t plat[NB_PLAT]; /*!< Tableau des sprites type de plats */
int score; /*!< Score du joueur */ int score; /*!< Score du joueur */
int compteur_plats; /*!< Nombre d'ennemis étant sorti de l'écran */ int compteur_plats; /*!< Nombre d'ennemis étant sorti de l'écran */
...@@ -66,6 +72,26 @@ typedef struct world_s world_t; ...@@ -66,6 +72,26 @@ typedef struct world_s world_t;
*/ */
void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v, int state); void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v, int state);
/**
* @brief Fonction initialisant un unique sprite (meuble)
*
* @param sprite Sprite à initialiser
* @param nom Caractère du sprite sur la carte
* @param largeur
* @param hauteur
* @param map Carte du jeu, sous forme de tableau de caractère
*/
void build_sprite_unique (sprite_t *sprite, char nom, int largeur, int hauteur, char** map);
/**
* @brief Fonction initialisant un tableau de sprites
*
* @param world données du monde - contenant la map et les spirtes concernés
* @param nomSprite Caractère du Sprite sur la carte
* @param largeur Largeur du sprite
* @param hauteur Hauteur du sprite
*/
void build_sprites_tab (world_t* world, char nomSprite, int largeur, int hauteur);
/** /**
* \brief la fonction permet de rendre visible un sprite * \brief la fonction permet de rendre visible un sprite
......
...@@ -57,7 +57,6 @@ while (estFini(&world)==0){ ...@@ -57,7 +57,6 @@ while (estFini(&world)==0){
} }
SDL_Delay(150); SDL_Delay(150);
SDL_DestroyRenderer(ecran); nettoyage_graphisme(ecran, &textures, windows);
SDL_DestroyWindow(windows);
SDL_Quit(); SDL_Quit();
} }
\ No newline at end of file
...@@ -85,7 +85,7 @@ void test_limite(){ ...@@ -85,7 +85,7 @@ void test_limite(){
SDL_Event event; SDL_Event event;
init_data(&world); init_data(&world);
int i=0; int i=0;
while (i<100){ while (i<10){
reset_sprite_on_map(&world.joueur, &world); reset_sprite_on_map(&world.joueur, &world);
gestion_events(&event, &world); gestion_events(&event, &world);
...@@ -96,7 +96,7 @@ void test_limite(){ ...@@ -96,7 +96,7 @@ void test_limite(){
SDL_Delay(100); SDL_Delay(100);
//afficher_tab_2D(world.map, SCREEN_HEIGHT, SCREEN_WIDTH); //afficher_tab_2D(world.map, SCREEN_HEIGHT, SCREEN_WIDTH);
} }
afficher_tab_2D(world.map, SCREEN_HEIGHT, SCREEN_WIDTH); //afficher_tab_2D(world.map, SCREEN_HEIGHT, SCREEN_WIDTH);
SDL_Quit(); SDL_Quit();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment