Skip to content
Snippets Groups Projects
Commit 9d6ab9ac authored by vautrin33u's avatar vautrin33u
Browse files

MaJ du menu

parent dcedd915
No related branches found
No related tags found
No related merge requests found
...@@ -5,8 +5,8 @@ LDFLAGS = `sdl2-config --cflags --libs` -lSDL2_ttf ...@@ -5,8 +5,8 @@ LDFLAGS = `sdl2-config --cflags --libs` -lSDL2_ttf
INCLUDES = -I./SDL2_ttf INCLUDES = -I./SDL2_ttf
EXEC1 = main EXEC1 = main
EXEC2 = tests EXEC2 = tests
SRC = gestion_fichiers.c sprite.c stocks.c interactions.c logique.c graphisme.c main.c SRC = gestion_fichiers.c sprite.c stocks.c interactions.c menu.c logique.c graphisme.c main.c
SRC2 = gestion_fichiers.c sprite.c stocks.c interactions.c logique.c graphisme.c tests.c SRC2 = gestion_fichiers.c sprite.c stocks.c interactions.c menu.c logique.c graphisme.c tests.c
OBJ = $(SRC:.c=.o) OBJ = $(SRC:.c=.o)
OBJ2 = $(SRC2:.c=.o) OBJ2 = $(SRC2:.c=.o)
......
No preview for this file type
This diff is collapsed.
...@@ -11,9 +11,6 @@ ...@@ -11,9 +11,6 @@
#include "stocks.h" #include "stocks.h"
/** /**
* @brief Interaction avec la poubelle * @brief Interaction avec la poubelle
* *
......
...@@ -289,4 +289,4 @@ int temps_restant (){ ...@@ -289,4 +289,4 @@ int temps_restant (){
if (temps_restant <=0) temps_restant = 0; if (temps_restant <=0) temps_restant = 0;
} }
return temps_restant; return temps_restant;
} }
\ No newline at end of file
...@@ -19,29 +19,7 @@ ...@@ -19,29 +19,7 @@
#include <string.h> #include <string.h>
#include "interactions.h" #include "interactions.h"
#include "limits.h" #include "limits.h"
#include "menu.h"
struct world_s{
int gameover; /*!< Champ indiquant si l'on est à la fin du jeu */
int score; /*!< Champ du score de la partie en cours */
sprite_t joueur; /*!< Sprite du joueur */
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 */
stock_t etat_stocks; /*!< Structure gérant les stocks et le score*/
int compteur_plats; /*!< Nombre de plats étant sorti de l'écran */
int attente; /*!< Compte le nombre de tours avant la fin de la partie*/
char** map; /*!< tableau de caractère correspondant à l'état de la map actuel */
};
/**
* \brief Type qui correspond aux données du monde
*/
typedef struct world_s world_t;
/** /**
......
...@@ -21,6 +21,7 @@ SDL_Init(SDL_INIT_VIDEO); ...@@ -21,6 +21,7 @@ SDL_Init(SDL_INIT_VIDEO);
TTF_Init(); TTF_Init();
//création des divers composants //création des divers composants
world_t world; world_t world;
menu_t menu;
textures_t textures; textures_t textures;
SDL_Window *windows; SDL_Window *windows;
SDL_Renderer *ecran; SDL_Renderer *ecran;
...@@ -41,7 +42,10 @@ init_data(&world); ...@@ -41,7 +42,10 @@ init_data(&world);
//Chargement des textures sur le renderer //Chargement des textures sur le renderer
ecran = SDL_CreateRenderer(windows, -1, SDL_RENDERER_ACCELERATED); ecran = SDL_CreateRenderer(windows, -1, SDL_RENDERER_ACCELERATED);
init_textures(ecran, &textures, font); init_textures(ecran, &textures, font);
//menu d'entrée en jeu
//menu
init_menu(&menu);
menu_event(&evenements, &menu);
......
#include "SDL/SDL.h" /**
#include "SDL/SDL_image.h" * \file menu.c
#include "SDL_ttf" * \brief Fonctions des fonctions gérant la logique du menu
#include <string> * \author Guillaume Vautrin
* \version 1.0
//Ecran * \date 30 Décembre 2020
const int SCREEN_WIDTH = 640; */
const int SCREEN_HEIGHT = 480;
//const int SCREEN_BPP = ?? #include "menu.h"
//Surfaces
SDL_Surface *image = NULL; void init_menu (menu_t *menu){
SDL_Surface *screen = NULL; //initialise le menu
menu->gameover = 0;
SDL_Event event; menu->quitter_menu = 0;
menu->choix = 0;
int main(int argc, char* args[]){ }
bool quit = false; void menu_event(SDL_Event *event, menu_t *menu, world_t *world){
//Gère les évenements liés au menu
//coordonnées des cases "Nouvelle partie" et "Reprendre" (à définir) while (menu->quitter_menu ==0){
int xc1, yc1, xc2, yc2; SDL_WaitEvent(event);
int xd1, yd1, xd2, yd2; switch(event->type){
//coordonnées de la souris case SDL_QUIT:
int x, y; menu->gameover = 1;
Uint32 boutons; menu->quitter_menu = 1;
break;
while(quit == false){
while(SDL_PollEvent(&event)){ case SDL_KEYDOWN:
if(event.type == SDL_QUIT){ switch(event->key.keysym.sym){
quit = true; case SDLK_ESCAPE:
clean_up(); //Si on appuie sur escape on quitte le jeu
return 0; menu->gameover = 1;
} menu->quitter_menu = 1;
switch (event.type){ break;
case SDL_MOUSEBUTTONDOWN{
//récupération des coordonnées de la souris case SDLK_UP:
SDL_PumpEvents(); //Déplacement dans les menus
boutons = SDL_GetMouseState(&x,&y); menu->choix--;
if (menu->choix <0) menu->choix = 0;
if(xc1<=x<=xc2 && yc1<=y<=yc2){ break;
//nouvelle partie
} case SDLK_DOWN:
if(xd1<=x<=xd2 && yd1<=y<=yd2){ //Déplacement dans les menus
//reprendre menu->choix++;
} if (menu->choix >4) menu->choix = 4;
} break;
}
} case SDLK_SPACE:
} //Valide le choix et on quitte le menu
menu->quitter_menu = 1;
break;
}
}
}
}
évènements :
SDL_MOUSEMOTION
SDL_MOUSEBUTTONDOWN
SDL_MOUSEBUTTONUP
\ No newline at end of file
menu.h 0 → 100644
/**
* \file menu.h
* \brief Header des fonctions gérant la logique du menu
* \author Guillaume Vautrin
* \version 1.0
* \date 30 Décembre 2020
*/
#ifndef MENU_H
#define MENU_H
#include "menu.h"
#include "stocks.h"
struct menu_s{
int gameover; /*!< Champ indiquant si l'on est à la fin du jeu */
int quitter_menu; /*!< Champ indiquant si l'on sort du menu */
int choix; /*!< Champ indiquant le choix du joueur */
sprite_t texte; /*!< Sprite du joueur */
};
/**
* \brief Type qui correspond aux données du monde
*/
typedef struct menu_s menu_t;
/**
* @brief Initialise le menu
*
* @param menu structure du menu
*/
void init_menu (menu_t *menu);
/**
* @brief Gestion des évenements du menu
*
* @param event évenements issue du joueur
* @param menu structure du menu
*/
void menu_event(SDL_Event *event, menu_t *menu, world_t *world);
#endif
\ No newline at end of file
...@@ -25,14 +25,12 @@ struct sprite_s{ ...@@ -25,14 +25,12 @@ struct sprite_s{
int cuisson; /*!< Etat de la cuisson*/ int cuisson; /*!< Etat de la cuisson*/
Uint32 debut_timer; /*!< garde en mémoire le début d'un event*/ Uint32 debut_timer; /*!< garde en mémoire le début d'un event*/
}; };
/** /**
* \brief Type qui correspond au sprite * \brief Type qui correspond au sprite
*/ */
typedef struct sprite_s sprite_t; typedef struct sprite_s sprite_t;
/** /**
* \brief La fonction initialise un sprite * \brief La fonction initialise un sprite
* \param sprite pointeur vers le sprite à initialiser * \param sprite pointeur vers le sprite à initialiser
......
...@@ -25,6 +25,26 @@ struct stock_s{ ...@@ -25,6 +25,26 @@ struct stock_s{
typedef struct stock_s stock_t; typedef struct stock_s stock_t;
struct world_s{
int gameover; /*!< Champ indiquant si l'on est à la fin du jeu */
int score; /*!< Champ du score de la partie en cours */
sprite_t joueur; /*!< Sprite du joueur */
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 */
stock_t etat_stocks; /*!< Structure gérant les stocks et le score*/
int compteur_plats; /*!< Nombre de plats étant sorti de l'écran */
int attente; /*!< Compte le nombre de tours avant la fin de la partie*/
char** map; /*!< tableau de caractère correspondant à l'état de la map actuel */
};
/**
* \brief Type qui correspond aux données du monde
*/
typedef struct world_s world_t;
/** /**
* @brief Initialise les stocks et l'état de complétion des burgers * @brief Initialise les stocks et l'état de complétion des burgers
* *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment