-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenemy.h
94 lines (75 loc) · 2.35 KB
/
enemy.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//=============================================================================
//
// エネミー処理 [enemy.h]
// Author :
//
//=============================================================================
#pragma once
#include "main.h"
#include "renderer.h"
//*****************************************************************************
// マクロ定義
//*****************************************************************************
#define ENEMY_MAX (5) // エネミーのMax人数
enum
{
ENEMY_MODE_PATROL,
ENEMY_MODE_BATTLE,
ENEMY_MODE_MAX
};
enum
{
ENEMY_LOOK_DOWN,
ENEMY_LOOK_RIGHT,
ENEMY_LOOK_UP,
ENEMY_LOOK_LEFT,
};
//*****************************************************************************
// 構造体定義
//*****************************************************************************
struct LINEAR_INTERPOLATION // 線形補間データの構造体
{
D3DXVECTOR3 pos; // 座標
D3DXVECTOR3 rot; // 回転量
D3DXVECTOR3 scl; // 拡大率
float time; // 移動時間
};
struct ENEMY
{
D3DXVECTOR3 pos; // ポリゴンの座標
D3DXVECTOR3 rot; // ポリゴンの回転量
D3DXVECTOR3 scl; // ポリゴンの拡大率
BOOL use; // true:使っている false:未使用
float w, h; // 幅と高さ
int countAnim; // アニメーションカウント
int patternAnim; // アニメーションパターンナンバー
int texNo; // テクスチャ番号
int dir; // エネミーの方向
int mode; // 現在のエネミー状態
D3DXVECTOR3 move; // 移動速度
float time; // 線形補間用
int moveTblNo; // 行動データのテーブル番号
int tblMax; // そのテーブルのデータ数
// バトル用の変数
int maxHP; // エネミーの最大HP
int maxMP; // エネミーの最大MP
int atkPower; // エネミーの攻撃力
int hp = maxHP;
int mp = maxMP;
int atkMin, atkMax; // 最小・最大の攻撃
int speed;
int exp, minExp, maxExp; // プレイヤーがもらう経験値
float action;
// エネミーのRGBA
float r, g, b, a;
};
//*****************************************************************************
// プロトタイプ宣言
//*****************************************************************************
HRESULT InitEnemy(void);
void UninitEnemy(void);
void UpdateEnemy(void);
void DrawEnemy(void);
D3DXVECTOR3 FindEnemyPosition(int monsterIndex);
void EnemyDead(int index);
ENEMY *GetEnemy(void);