00001
00002
00009
00010
#ifndef CTRL_FENETRE_H
00011
#define CTRL_FENETRE_H
00012
00013
#include "entree_clavier.h"
00014
#include "entree_souris.h"
00015
#include "texture.h"
00016
00017
#include "../lib/sdl/include/sdl.h"
00018
#ifdef WIN32
00019
#include <windows.h>
00020
#endif //WIN32
00021
#include <GL/gl.h>
00022
#include <GL/glu.h>
00023
#include "glext.h"
00024
00025
#include <string>
00026
00027 #define FENETRE_NOM "Shoot(r)"
00028 #define FENETRE_LARGEUR 800
00029 #define FENETRE_HAUTEUR 600
00030 #define FENETRE_COULEUR 24
00031
00032 #define FICHIER_MUSIQUE_QUITTER "./data/musique/quitter.ogg"
00033 #define FICHIER_MUSIQUE_MENU "./data/musique/menu.ogg"
00034 #define FICHIER_MUSIQUE_JEU "./data/musique/jeu.ogg"
00035
00036 #define FICHIER_TEXTURE_FOND_MENU "./data/image/menu-fond.tga"
00037 #define FICHIER_TEXTURE_FOND_QUITTER "./data/image/menu-quitter.tga"
00038
00040 typedef enum
00041 {
00042
PAGE_NULL = 0,
00043
PAGE_JEU_CHARGEMENT,
00044
PAGE_JEU_CHARGEMENT_ERREUR,
00045
PAGE_JEU_COMMENCER,
00046
PAGE_JEU_ENCOURS,
00047
PAGE_PRINCIPALE,
00048
PAGE_SCORE,
00049
PAGE_QUITTER
00050 }
EPage;
00051
00053 typedef enum
00054 {
00055
PAGE_JEU_COMMENCER_NULL = 0,
00056
PAGE_JEU_COMMENCER_CHARGEMENT,
00057
PAGE_JEU_COMMENCER_JOUEUR2,
00058
PAGE_JEU_COMMENCER_JOUEUR1,
00059
PAGE_JEU_COMMENCER_NOMBRE_JOUEUR
00060 }
EPageJeuCommencer;
00061
00063 typedef enum
00064 {
00065
PAGE_PRINCIPALE_NULL = 0,
00066
PAGE_PRINCIPALE_QUITTER,
00067
PAGE_PRINCIPALE_SCORES,
00068
PAGE_PRINCIPALE_JEU_COMMENCER,
00069
PAGE_PRINCIPALE_JEU_REPRENDRE
00070 }
EPagePrincipale;
00071
00073 class CFenetre
00074 {
00075
private:
00076
CEntreeClavier m_EntreeClavier;
00077
CEntreeSouris m_EntreeSouris;
00078
00079 std::string m_szNomJoueur1;
00080 std::string m_szNomJoueur2;
00081
unsigned int m_uiNombreJoueur;
00082
00083
unsigned short m_unPositionX;
00084
unsigned short m_unPositionY;
00085
00086
unsigned int m_uiMenuPrincipal;
00087
unsigned int m_uiMenuCommencer;
00088
00089
CTexture *m_pTextureMenuFond;
00090
CTexture *m_pTextureMenuQuitter;
00091
00092
EPage m_Page;
00093
bool m_bEnd;
00094
00096
bool PageJeuChargement ();
00098
void PageJeuChargementErreur ();
00100
void PageJeuEnCours ();
00102
void PageJeuCommencer ();
00104
void PagePrincipale ();
00106
void PageScore ();
00108
void PageQuitter ();
00109
00111
void MenuInit ();
00112
00113
public:
00115
CFenetre ();
00117
~CFenetre ();
00118 };
00119
00120
#endif //CTRL_FENETRE_H
00121