OSDN Git Service

db1f4d208bfdfffd446565a7d6cc12ca0e7ac38f
[deeangband/Deeangband-new.git] / Deeangband / GameEngine.cpp
1 /*!
2 * @file GameEngine.cpp
3 * @brief \83Q\81[\83\80\83G\83\93\83W\83\93\82Ì\8eÀ\91\95
4 * @date 2013/12/17
5 * @author Deskull
6 * 2014 Sikabane Works.
7 */
8
9 #pragma once
10
11 #include "stdafx.h"
12 #include "GameEngine.h"
13
14
15 namespace Deeangband
16 {
17         GameEngine::GameEngine()
18         {
19                 gameWorld = new GameWorld();
20                 gameSurface = new GameSurfaceSDL(gameWorld);
21                 gameSurface->SetFloor(gameWorld->GetFloor(0));
22                 gameSurface->SetSideStatusCreature(gameWorld->GetCreature(0));
23         }
24
25         PLAY_EXIT_CODE GameEngine::PlayLoop(void)
26         {
27                 GAME_COMMAND commandID;
28                 PLAY_EXIT_CODE code = PLAY_EXIT_NONE;
29                 gameSurface->Redraw();
30
31                 while(code == PLAY_EXIT_NONE)
32                 {
33                         commandID = gameSurface->GetCommand();
34                         code = DoGameCommand(commandID);
35                 }
36
37                 return PLAY_EXIT_QUIT;
38         }
39
40         PLAY_EXIT_CODE GameEngine::DoGameCommand(GAME_COMMAND command)
41         {
42                 switch(command)
43                 {
44                 case GAME_COMMAND_VIEW_PLAYER_STATUS:
45                         gameSurface->ViewCreatureStatus(gameWorld->GetCreature(0));
46                         break;
47                 case GAME_COMMAND_REDRAW:
48                         gameSurface->Redraw();
49                         break;
50                 case GAME_COMMAND_DEBUG_XML_SAVE:
51                         gameWorld->XMLSave();
52                         gameSurface->Message("XML\82É\95Û\91\82µ\82Ü\82µ\82½\81B");
53                         break;
54                 case GAME_COMMAND_DEBUG_XML_LOAD:
55                         gameSurface->Redraw();
56                         gameWorld->XMLLoad();
57                         gameSurface->Message("XML\82©\82ç\8cÄ\82Ñ\8fo\82µ\82Ü\82µ\82½\81B");
58                         break;
59                 case GAME_COMMAND_EXIT:
60                         return PLAY_EXIT_QUIT;
61                         break;
62                 case GAME_COMMAND_NORTH:
63                         break;
64                 case GAME_COMMAND_NORTH_EAST:
65                         break;
66                 case GAME_COMMAND_EAST:
67                         break;
68                 case GAME_COMMAND_SOUTH_EAST:
69                         break;
70                 case GAME_COMMAND_SOUTH:
71                         break;
72                 case GAME_COMMAND_SOUTH_WEST:
73                         break;
74                 case GAME_COMMAND_WEST:
75                         break;
76                 case GAME_COMMAND_NORTH_WEST:
77                         break;
78                 }
79                 return PLAY_EXIT_NONE;
80         }
81
82 }