3 * @brief
\83Q
\81[
\83\80\83G
\83\93\83W
\83\93\82Ì
\8eÀ
\91\95
12 #include "GameEngine.h"
17 GameEngine::GameEngine()
19 gameWorld = new GameWorld();
20 gameSurface = new GameSurfaceSDL(gameWorld);
21 gameSurface->SetFloor(gameWorld->GetFloor(0));
22 gameSurface->SetSideStatusCreature(gameWorld->GetCreature(0));
25 PLAY_EXIT_CODE GameEngine::PlayLoop(void)
27 GAME_COMMAND commandID;
28 PLAY_EXIT_CODE code = PLAY_EXIT_NONE;
29 gameSurface->Redraw();
31 while(code == PLAY_EXIT_NONE)
33 commandID = gameSurface->GetCommand();
34 code = DoGameCommand(commandID);
37 return PLAY_EXIT_QUIT;
40 PLAY_EXIT_CODE GameEngine::DoGameCommand(GAME_COMMAND command)
44 case GAME_COMMAND_VIEW_PLAYER_STATUS:
45 gameSurface->ViewCreatureStatus(gameWorld->GetCreature(0));
47 case GAME_COMMAND_REDRAW:
48 gameSurface->Redraw();
50 case GAME_COMMAND_DEBUG_XML_SAVE:
52 gameSurface->Message("XML
\82É
\95Û
\91¶
\82µ
\82Ü
\82µ
\82½
\81B");
54 case GAME_COMMAND_DEBUG_XML_LOAD:
55 gameSurface->Redraw();
57 gameSurface->Message("XML
\82©
\82ç
\8cÄ
\82Ñ
\8fo
\82µ
\82Ü
\82µ
\82½
\81B");
59 case GAME_COMMAND_EXIT:
60 return PLAY_EXIT_QUIT;
62 case GAME_COMMAND_NORTH:
64 case GAME_COMMAND_NORTH_EAST:
66 case GAME_COMMAND_EAST:
68 case GAME_COMMAND_SOUTH_EAST:
70 case GAME_COMMAND_SOUTH:
72 case GAME_COMMAND_SOUTH_WEST:
74 case GAME_COMMAND_WEST:
76 case GAME_COMMAND_NORTH_WEST:
79 return PLAY_EXIT_NONE;