D'angband
0.0.0
Deeangband
総合概要
諸情報
名前空間
クラス
ファイル
ファイル一覧
ファイルメンバ
全て
クラス
名前空間
ファイル
関数
変数
型定義
列挙型
列挙値
フレンド
マクロ定義
ページ
GameEngine.cpp
[詳解]
1
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
22
gameSurface
->SetField(
gameWorld
->GetField(0));
23
gameSurface
->SetSideStatusCreature(
gameWorld
->GetCreature(0));
24
25
Direction::Initialize();
26
}
27
28
PLAY_EXIT_CODE
GameEngine::PlayLoop(
void
)
29
{
30
GAME_COMMAND
commandID;
31
PLAY_EXIT_CODE
code =
PLAY_EXIT_NONE
;
32
gameSurface
->Redraw();
33
34
while
(code ==
PLAY_EXIT_NONE
)
35
{
36
commandID =
gameSurface
->
GetCommand
();
37
code = DoGameCommand(commandID);
38
}
39
40
return
PLAY_EXIT_QUIT
;
41
}
42
43
PLAY_EXIT_CODE
GameEngine::DoGameCommand(
GAME_COMMAND
command)
44
{
45
Creature *playerPtr =
gameWorld
->GetPlayerCreature();
46
47
switch
(command)
48
{
49
case
GAME_COMMAND_VIEW_PLAYER_STATUS
:
50
gameSurface
->ViewCreatureStatus(
gameWorld
->GetCreature(0));
51
break
;
52
case
GAME_COMMAND_REDRAW
:
53
gameSurface
->Redraw();
54
break
;
55
case
GAME_COMMAND_DEBUG_XML_SAVE
:
56
gameWorld
->XMLSave();
57
gameSurface
->Message(
"XMLに保存しました。"
);
58
break
;
59
case
GAME_COMMAND_DEBUG_XML_LOAD
:
60
gameSurface
->Redraw();
61
gameWorld
->XMLLoad();
62
gameSurface
->Message(
"XMLから呼び出しました。"
);
63
break
;
64
case
GAME_COMMAND_EXIT
:
65
return
PLAY_EXIT_QUIT
;
66
break
;
67
case
GAME_COMMAND_NORTH
:
68
playerPtr->Walk(
DIRECTION_NORTH
);
69
break
;
70
case
GAME_COMMAND_NORTH_EAST
:
71
playerPtr->Walk(
DIRECTION_NORTH_EAST
);
72
break
;
73
case
GAME_COMMAND_EAST
:
74
playerPtr->Walk(
DIRECTION_EAST
);
75
break
;
76
case
GAME_COMMAND_SOUTH_EAST
:
77
playerPtr->Walk(
DIRECTION_SOUTH_EAST
);
78
break
;
79
case
GAME_COMMAND_SOUTH
:
80
playerPtr->Walk(
DIRECTION_SOUTH
);
81
break
;
82
case
GAME_COMMAND_SOUTH_WEST
:
83
playerPtr->Walk(
DIRECTION_SOUTH_WEST
);
84
break
;
85
case
GAME_COMMAND_WEST
:
86
playerPtr->Walk(
DIRECTION_WEST
);
87
break
;
88
case
GAME_COMMAND_NORTH_WEST
:
89
playerPtr->Walk(
DIRECTION_NORTH_WEST
);
90
break
;
91
}
92
return
PLAY_EXIT_NONE
;
93
}
94
95
}
GAME_COMMAND_REDRAW
Definition:
Deeangband.h:26
DIRECTION_NORTH_EAST
Definition:
Deeangband.h:80
GAME_COMMAND_DEBUG_XML_SAVE
Definition:
Deeangband.h:27
GAME_COMMAND_WEST
Definition:
Deeangband.h:37
PLAY_EXIT_QUIT
プレイ終了コード:通常終了
Definition:
Deeangband.h:48
DIRECTION_SOUTH_EAST
Definition:
Deeangband.h:82
DIRECTION_SOUTH
Definition:
Deeangband.h:83
GAME_COMMAND_SOUTH
Definition:
Deeangband.h:35
GAME_COMMAND_VIEW_PLAYER_STATUS
Definition:
Deeangband.h:25
GAME_COMMAND_NORTH
Definition:
Deeangband.h:31
GAME_COMMAND
GAME_COMMAND
Definition:
Deeangband.h:23
GameEngine.h
ゲームエンジンのプロトタイプ宣言
DIRECTION_SOUTH_WEST
Definition:
Deeangband.h:84
stdafx.h
標準のシステム インクルード ファイルのインクルード ファイル、または 参照回数が多く、かつあまり変更さ...
DIRECTION_WEST
Definition:
Deeangband.h:85
GAME_COMMAND_EXIT
Definition:
Deeangband.h:29
Deeangband::GameEngine::gameSurface
GameSurface * gameSurface
GameSurfaceの参照ポインタ
Definition:
GameEngine.h:28
DIRECTION_EAST
Definition:
Deeangband.h:81
DIRECTION_NORTH
Definition:
Deeangband.h:87
PLAY_EXIT_CODE
PLAY_EXIT_CODE
Definition:
Deeangband.h:44
GAME_COMMAND_SOUTH_EAST
Definition:
Deeangband.h:34
GAME_COMMAND_EAST
Definition:
Deeangband.h:33
GAME_COMMAND_NORTH_EAST
Definition:
Deeangband.h:32
Deeangband::GameEngine::gameWorld
GameWorld * gameWorld
GameWorldの参照ポインタ
Definition:
GameEngine.h:27
PLAY_EXIT_NONE
プレイ終了コード:なし(プレイ継続)
Definition:
Deeangband.h:46
GAME_COMMAND_DEBUG_XML_LOAD
Definition:
Deeangband.h:28
GAME_COMMAND_NORTH_WEST
Definition:
Deeangband.h:38
DIRECTION_NORTH_WEST
Definition:
Deeangband.h:86
GAME_COMMAND_SOUTH_WEST
Definition:
Deeangband.h:36
Deeangband::GameSurface::GetCommand
virtual GAME_COMMAND GetCommand(void)
ゲームコマンドを受け取る
Definition:
GameSurface.h:38
Deeangband
GameEngine.cpp
2014年06月25日(水) 23時41分56秒作成 - D'angband / 構成:
1.8.7