|
|
1.1 root 1: /* $Header: object.h,v 7.0.1.2 86/12/12 17:01:38 lwall Exp $ */
2:
3: /* $Log: object.h,v $
4: * Revision 7.0.1.2 86/12/12 17:01:38 lwall
5: * Baseline for net release.
6: *
7: * Revision 7.0.1.1 86/10/16 10:52:30 lwall
8: * Added Damage. Fixed random bugs.
9: *
10: * Revision 7.0 86/10/08 15:13:04 lwall
11: * Split into separate files. Added amoebas and pirates.
12: *
13: */
14:
15: #define Root 0
16: #define Base 1
17: #define Enterprise 2
18: #define Star 3
19: #define Torp 4
20: #define Enemy 5
21: #define Web 6
22: #define Crusher 7
23:
24: typedef struct object {
25: char posx, posy;
26: #ifdef SIGNEDCHAR
27: char velx, vely;
28: #else
29: short velx, vely;
30: #endif
31: struct object *next, *prev, *contend;
32: long energy;
33: long mass;
34: char type;
35: char image;
36: char strategy;
37: char flags;
38: } OBJECT;
39:
40: #define PIRATE 1 /* we may mutiny */
41: #define FRIENDLY 2 /* we aren't really an enemy, for now */
42: #define STATIC 4 /* we are not in the movers list at the moment */
43: #define COUNTDOWN 8 /* we are counting down for something */
44: #define CLOAKS 16 /* we can cloak */
45:
46: #ifdef DOINIT
47: OBJECT root = {0, 0, 0, 0, &root, &root, 0, 0, 0, Root, '?', 0, 0};
48: #else
49: EXT OBJECT root;
50: #endif
51:
52: #ifdef DOINIT
53: OBJECT free_root = {0, 0, 0, 0, &free_root, &free_root, 0, 0, 0, Root, '?', 0, 0};
54: #else
55: EXT OBJECT free_root;
56: #endif
57:
58: EXT OBJECT *ent;
59: EXT OBJECT *base;
60: EXT OBJECT *enemies;
61: EXT OBJECT *movers;
62: EXT OBJECT *realapollo;
63: EXT OBJECT *nuke;
64:
65: EXT OBJECT *occupant[YSIZE][XSIZE];
66:
67: OBJECT *make_object();
68:
69: void unmake_object();
70: void free_object();
71: void object_init();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.