1 /* 2 * DESCRIPCION DEL JUEGO 3 * Copyright (C) 2007 Javier P�rez Pacheco 4 * 5 * Este juego tienen licencia Creative Commons y se permite 6 * su modificacion y utilizacion libremente siempre y cuando se 7 * cite al autor original y se comparta con la misma licencia. 8 * No se permite su uso comercial. 9 * 10 * Para mas informacion visite la web: 11 * http://creativecommons.org/licenses/by-nc-sa/2.0/es/ 12 * 13 * PROGRAMADOR 14 * Javier P�rez Pacheco 15 * Cadiz (Spain) 16 * javielinux@gmail.com 17 * 18 * GRAFISMO Y 3D 19 * Jesus Carrasco 20 * Cadiz (Spain) 21 * carrasco.carrasco@gmail.com 22 * 23 * MUSICA Y GRAFISMO 24 * Shano Lores 25 * Cadiz (Spain) 26 * shanakla@gmail.com 27 * 28 */ 29 30 #ifndef SCENEGAME_H_ 31 #define SCENEGAME_H_ 32 33 #include "martian.h" 34 #include "scene.h" 35 #include "user.h" 36 #include "class_game.h" 37 #include "sceneanimation.h" 38 39 #define SCENE_GAME_MAIN 0 40 #define SCENE_GAME_WINNING 1 41 #define SCENE_GAME_WIN 2 42 #define SCENE_GAME_LOST 3 43 #define SCENE_GAME_CAPTURED 4 44 #define SCENE_GAME_OPTIONS 5 45 #define SCENE_GAME_FINISH 6 46 #define SCENE_GAME_STARTTRAY 7 47 #define SCENE_GAME_TRAY 8 48 #define SCENE_GAME_HELP 9 49 #define SCENE_GAME_ENDANIMATION 10 50 #define SCENE_GAME_HELPFIRSTLEVEL 11 51 52 using namespace std; 53 using namespace Martian; 54 55 class SceneGame : public Scene { 56 57 private: 58 Button *bQuit, *bReset, *bOption, *bNext, *bPrevious; 59 Button *bAccept, *bCancel; 60 Element *frameUp, *frameDown; 61 62 Button *bRetry, *bLeave, *bContinue, *bBack; 63 64 MarqueeElement *nameProvince, *nameTown; 65 66 Element *titleInfoTray, *textInfoTray, *drawFood; 67 68 Element *windowLost, *windowWin, *windowFinish; 69 70 Element *textInWindows, *textInWindowsFinal; 71 72 Group *menu; 73 74 Element *bgMenu; 75 AnimatedElement *eyeRight, *eyeLeft; 76 77 Element *bgInfo; 78 Button *bAcceptInfo; 79 80 bool hasHelp; 81 Element *imageHelp, *titleHelp, *textHelp; 82 83 bool active; 84 85 int indexMusicActive; 86 87 SceneAnimation *s_animend; 88 89 public: 90 91 bool animationEnd; 92 93 bool hasEyeInformation; 94 95 void goToNextLevel(); 96 97 void setAnimationEnd (string a); 98 setTypeMusic(int t)99 void setTypeMusic (int t) { indexMusicActive = t; } getTypeMusic()100 int getTypeMusic () { return indexMusicActive; } 101 getActive()102 bool getActive() { return active; } 103 104 void verifyEyeInformation(); 105 106 void loadMusic (int t); 107 void loadHelp (string name); 108 109 Slide *imageEyeRight, *imageEyeLeft; 110 111 Element *levelStatus; 112 ChronometerElement *chronometer; 113 114 bool hasHelpFirstLevel; 115 bool showedHelpFirstLevel; 116 Slide *helpFirstLevel; 117 Button *bLeftFirstLevel, *bRightFirstLevel; 118 119 Element *bgOptions; 120 Element *titleVolumeMusics, *titleVolumeEffects, *titleTypeMusic; 121 SelectButton *volumeMusics, *volumeEffects, *typeMusic; 122 CheckButton *cbHelpActived; 123 124 SceneGame(); 125 ~SceneGame(); 126 void setStatusScene(int s); 127 void load(); 128 129 void clear(); 130 131 void createHelpFirstLevel(); 132 getMusicGame()133 Sound* getMusicGame() { return Sounds::GetInstance()->getSound("musicgame"); } 134 135 /********************* 136 * BUTTONS 137 **********************/ 138 void verifyClickElements_Main(); 139 void verifyOverElements_Main(); 140 141 void verifyClickElements_Options(); 142 void verifyOverElements_Options(); 143 144 void verifyClickElements_Lost(); 145 void verifyOverElements_Lost(); 146 147 void verifyClickElements_Win(); 148 void verifyOverElements_Win(); 149 150 void verifyClickElements_Finish(); 151 void verifyOverElements_Finish(); 152 153 void verifyClickElements_Tray(); 154 void verifyOverElements_Tray(); 155 156 void verifyClickElements_Help(); 157 void verifyOverElements_Help(); 158 159 void verifyClickElements_HelpFirstLevel(); 160 void verifyOverElements_HelpFirstLevel(); 161 162 /********************* 163 * ESCENES 164 **********************/ 165 bool drawScene (); 166 167 void drawSceneMain (); 168 void drawSceneMainByIndexZ(int z); 169 170 void drawSceneOptions (); 171 void drawSceneOptionsByIndexZ(int z); 172 173 void drawSceneWin (); 174 void drawSceneWinByIndexZ(int z); 175 176 void drawSceneLost (); 177 void drawSceneLostByIndexZ(int z); 178 179 void drawSceneFinish (); 180 void drawSceneFinishByIndexZ(int z); 181 182 void drawSceneTray (); 183 void drawSceneTrayByIndexZ(int z); 184 185 void drawSceneHelp (); 186 void drawSceneHelpByIndexZ(int z); 187 188 void drawSceneHelpFirstLevel (); 189 void drawSceneHelpFirstLevelByIndexZ(int z); 190 191 /********************* 192 * CONTROL 193 **********************/ 194 void unLoad(); 195 }; 196 197 198 199 #endif /* SCENEGAME_H_ */ 200