comparison Enemy.h @ 0:01387a2e419e

initial version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 07 Dec 2010 15:39:45 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:01387a2e419e
1 #include "bool.h"
2
3 #ifndef _ENEMY_H_
4 #define _ENEMY_H_
5
6 typedef struct enemy_status {
7 int charno; // sprite image number
8 int sc; // score
9 int p; // hardness
10 } state;
11
12 typedef struct teki {
13 float x;
14 float y;
15 float sx;
16 float sy;
17 int charno;
18 BOOL tama; /*たま */
19 BOOL f; /*表示フラグ */
20 int p; /*かたさです */
21 int move;
22 int sc; /*スコア */
23 int dt1;
24 int dt2;
25 float s;
26 } teki;
27
28
29 // prote type
30 extern void Puttama(int type, float x, float y);
31 extern void Defenemy(int no, int charno, int sc, int p);
32 extern void TFon();
33 extern void TFoff();
34 extern void Putenemy(int charno, float x, float y, float sx, float sy,
35 int move);
36 extern void Putenemyb(int b, int charno, float x, float y, float sx,
37 float sy, int move);
38 extern void En0();
39
40
41 extern int filpcount;
42 extern int stage;
43 extern teki enemy[300];
44 extern const state enemystate[50];
45
46 /**
47 * enemyの種類一覧
48 */
49 #define ENEMY_STATUS_TABLE {\
50 ENEMY_STATUS(UNUSED0, 0, 0, 0),\
51 ENEMY_STATUS(ID_GREENCRAB, ENEMY_GREENCRAB, 330, 98),\
52 ENEMY_STATUS(ID_PLANE, ENEMY_PLANE, 470, 37),\
53 ENEMY_STATUS(ID_REDBULLET, ENEMY_REDBULLET, 30, 16),\
54 ENEMY_STATUS(ID_BOSS1ORGAN, BOSS1_ORGAN, 25000, 10000),\
55 ENEMY_STATUS(ID_BOSS1SIDEPARTS, BOSS1_ORGAN, 10000, 10000),\
56 ENEMY_STATUS(ID_BLUEBULLET, ENEMY_BLUEBULLET, 40, 39),\
57 ENEMY_STATUS(ID_LASER, ENEMY_LASER, 100, 100000),\
58 ENEMY_STATUS(ID_LIGHTNING, ENEMY_LIGHTNING, 100, 100000),\
59 ENEMY_STATUS(ID_ASTEROID, ASTEROID, 170, 500),\
60 ENEMY_STATUS(ID_ASTEROIDID_BOSS2BODY, BOSS2_BODY, 100, 500),\
61 ENEMY_STATUS(ID_BOSS2LEFTSHOULDER, BOSS2_LEFTSHOULDER, 10000, 12000),\
62 ENEMY_STATUS(ID_BOSS2RIGHTSHOULDER, BOSS2_RIGHTSHOULDER, 10000, 12000),\
63 ENEMY_STATUS(ID_BOSS2RIGHTARM, BOSS2_RIGHTARM, 5000, 15000),\
64 ENEMY_STATUS(ID_BOSS2LEFTARM, BOSS2_LEFTARM, 5000, 15000),\
65 ENEMY_STATUS(ID_BOSS2BATTERY, BOSS2_BATTERY, 10000, 5000),\
66 ENEMY_STATUS(ID_BOSS2OPENBATTERY, BOSS2_OPENBATTERY, 10000, 5000),\
67 ENEMY_STATUS(ID_BOSS2BROKENHATCH, BOSS2_BROKENHATCH, 100, 500),\
68 ENEMY_STATUS(ID_BOSS2DUMMY, BOSS2_DUMMY, 50000, 15000),\
69 ENEMY_STATUS(ID_BOSS2RIGHTSHOULDERUP, BOSS2_RIGHTSHOULDERUP, 10000, 20000),\
70 ENEMY_STATUS(ID_BOSS2LEFTSHOULDERUP, BOSS2_LEFTSHOULDERUP, 10000, 15000),\
71 ENEMY_STATUS(ID_BOSS2LEFTSHOULDERGIRD, BOSS2_LEFTSHOULDERGIRD, 100, 20000),\
72 ENEMY_STATUS(ID_BOSS2RIGHTARMBATTERY, BOSS2_RIGHTARMBATTERY, 100, 500),\
73 ENEMY_STATUS(ID_BOSS2LEFTARMBATTERY, BOSS2_LEFTARMBATTERY, 100, 500),\
74 ENEMY_STATUS(ID_ORBIT, ORBITMACHINE, 20, 1000000),\
75 ENEMY_STATUS(UNUSED1, 0, 0, 0),\
76 ENEMY_STATUS(UNUSED2, 0, 0, 0),\
77 ENEMY_STATUS(UNUSED3, 0, 0, 0),\
78 ENEMY_STATUS(UNUSED4, 0, 0, 0),\
79 ENEMY_STATUS(UNUSED5, 0, 0, 0),\
80 ENEMY_STATUS(ID_BLACK_HOLE, BLACKHOLE, 200000, 30000),\
81 ENEMY_STATUS(UNUSED6, 0, 0, 0),\
82 ENEMY_STATUS(UNUSED7, 0, 0, 0),\
83 ENEMY_STATUS(UNUSED8, 0, 0, 0),\
84 ENEMY_STATUS(UNUSED9, 0, 0, 0),\
85 ENEMY_STATUS(UNUSED10, 0, 0, 0),\
86 ENEMY_STATUS(UNUSED11, 0, 0, 0),\
87 ENEMY_STATUS(UNUSED12, 0, 0, 0),\
88 ENEMY_STATUS(UNUSED13, 0, 0, 0),\
89 ENEMY_STATUS(UNUSED14, 0, 0, 0),\
90 ENEMY_STATUS(ID_GUN_BATTERY, GUNBATTERY, 540, 137),\
91 ENEMY_STATUS(ID_PURPLE_CORE, PURPLECORE, 840, 287),\
92 ENEMY_STATUS(ID_SPACE_FISH, SPACEFISH, 370, 137),\
93 ENEMY_STATUS(ID_AUTOMISSILE, MISSILE, 210, 24),\
94 ENEMY_STATUS(ID_BOSS3, BOSS3_BODY, 100000, 9600),\
95 ENEMY_STATUS(UNUSED15, 0, 0, 0),\
96 ENEMY_STATUS(UNUSED16, 0, 0, 0),\
97 ENEMY_STATUS(UNUSED17, 0, 0, 0),\
98 ENEMY_STATUS(UNUSED18, 0, 0, 0),\
99 ENEMY_STATUS(ID_BOSS4, BODD4_BODY, 300000, 20400)\
100 }
101
102 #define ENEMY_STATUS(id,charno,score,hardness) id
103 typedef enum ENEMY_STATUS EnemyId;
104 #undef ENEMY_STATUS
105
106 #endif // _ENEMY_H_