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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
#ifndef TUX_H
#define TUX_H
#include "main.h"
#include "list.h"
#include "arena.h"
#define TUX_STEP 7
#define TUX_LAYER 0
#define TUX_MAX_ANIMATION_FRAME 10
#define TUX_KEY 1
#define TUX_LOCATE_UNKNOWN -100
#define TUX_MAX_PICKUP 50
#define TUX_MAX_BONUS 500
#define TUX_TIME_SPAWN 2000
#define TUX_TIME_CAN_SHOT 500
#define TUX_TIME_CAN_SWITCH_GUN 100
#define TUX_STATUS_ALIVE 0
#define TUX_STATUS_DEAD 1
#define TUX_STATUS_PAUZED 2
#define TUX_CONTROL_NONE 0
#define TUX_CONTROL_KEYBOARD_LEFT 1
#define TUX_CONTROL_KEYBOARD_RIGHT 2
#define TUX_CONTROL_NET 3
#define TUX_CONTROL_ROBOT 4
#define TUX_WIDTH 30
#define TUX_HEIGHT 30
#define TUX_IMG_WIDTH 40
#define TUX_IMG_HEIGHT 54
#define TUX_UP 8
#define TUX_LEFT 4
#define TUX_RIGHT 6
#define TUX_DOWN 2
#define POSITION_UNKNOWN -1
#define TUX_SHOT 5
#define TUX_SWITCH_GUN 0
#define GUN_NONE -1
#define GUN_COUNT 7
#define GUN_MAX_SHOT 5
#define BONUS_COUNT 6
#define ITEM_COUNT 16
#define SHOT_CHECK_AREA 25
#define GUN_SIMPLE 0
#define GUN_DUAL_SIMPLE 1
#define GUN_SCATTER 2
#define GUN_TOMMY 3
#define GUN_LASSER 4
#define GUN_MINE 5
#define GUN_BOMBBALL 6
#define ITEM_MINE 7
#define ITEM_EXPLOSION 8
#define ITEM_BIG_EXPLOSION 9
#define BONUS_NONE -1
#define BONUS_SPEED 10
#define BONUS_SHOT 11
#define BONUS_TELEPORT 12
#define BONUS_GHOST 13
#define BONUS_4X 14
#define BONUS_HIDDEN 15
typedef struct tux_struct
{
int id;
int x;
int y;
char name[STR_NAME_SIZE];
int status;
int control;
int position;
int score;
int gun;
int shot[GUN_COUNT];
int round;
int bonus;
int bonus_time;
int pickup_time;
bool_t isCanShot;
bool_t isCanSwitchGun;
int frame;
void *client;
} tux_t;
extern bool_t isTuxInicialized();
extern void initTux();
extern tux_t* newTux();
extern bool_t isTuxAnyGun(tux_t *tux);
extern void getCourse(int n, int *x, int *y);
extern void drawTux(tux_t *tux);
extern void drawListTux(list_t *listTux);
extern void eventTuxIsDead(tux_t *tux);
extern tux_t* isConflictWithListTux(list_t *listTux, int x, int y, int w, int h);
extern int isConflictTuxWithListTux(tux_t *tux, list_t *listTux);
extern void eventConflictTuxWithShot(arena_t *arena);
extern void eventConflictTuxWithTeleport(list_t *listTux, list_t *listTeleport);
extern void tuxTeleport(tux_t *tux);
extern void actionTux(tux_t *tux, int action);
extern void eventListTux(list_t *listTux);
extern tux_t* getTuxID(list_t *listTux, int id);
extern void getTuxProportion(tux_t *tux, int *x,int *y, int *w, int *h);
extern void replaceTuxID(tux_t *tux, int id);
extern int isTuxSeesTux(tux_t *tux, tux_t *thisTux);
extern void setTuxProportion(tux_t *tux, int x, int y);
extern void getStatusTux(void *p, int *id, int *x,int *y, int *w, int *h);
extern void setStatusTux(void *p, int x, int y, int w, int h);
extern void destroyTux(tux_t *tux);
extern void quitTux();
#endif
|