X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=sst.h;h=74f8d6ab3d863bf73f45a49570fac71360a37067;hb=8bd7aca563c3a40239992666394fe8ff3f2fd5e3;hp=d9ed121d3de13dbcce6d335adf5d453df933f12a;hpb=797f0f77ccdfd001fff39396ceae760478c2b920;p=super-star-trek.git diff --git a/sst.h b/sst.h index d9ed121..74f8d6a 100644 --- a/sst.h +++ b/sst.h @@ -16,10 +16,9 @@ #define PHASEFAC (2.0) #define PLNETMAX (10) -#define NEVENTS (8) #define GALSIZE (8) #define QUADSIZE (10) -#define BASEMAX (6) +#define BASEMAX (5) /* * These macros hide the difference between 0-origin and 1-origin addressing. @@ -53,8 +52,8 @@ typedef struct { killk, // Klingons killed killc, // commanders killed cx[QUADSIZE+1],cy[QUADSIZE+1], // Commander quadrant coordinates - baseqx[BASEMAX], // Base quadrant X - baseqy[BASEMAX], // Base quadrant Y + baseqx[BASEMAX+1], // Base quadrant X + baseqy[BASEMAX+1], // Base quadrant Y isx, isy, // Coordinate of Super Commander nscrem, // remaining super commanders nromkl, // Romulans killed @@ -116,6 +115,19 @@ typedef struct { #define DDSP 14 // Added deep space probe #define NDEVICES (15) // Number of devices +/* Define future events */ +#define FSPY 0 // Spy event happens always (no future[] entry) + // can cause SC to tractor beam Enterprise +#define FSNOVA 1 // Supernova +#define FTBEAM 2 // Commander tractor beams Enterprise +#define FSNAP 3 // Snapshot for time warp +#define FBATTAK 4 // Commander attacks base +#define FCDBAS 5 // Commander destroys base +#define FSCMOVE 6 // Supercommander moves (might attack base) +#define FSCDBAS 7 // Supercommander destroys base +#define FDSPROB 8 // Move deep space probe +#define NEVENTS (9) + // Scalar variables that are needed for freezing the game // are placed in a structure. #defines are used to access by their // original names. Gee, I could have done this with the d structure, @@ -135,7 +147,7 @@ EXTERN struct { double kdist[(QUADSIZE+1)*(QUADSIZE+1)]; // enemy distances double kavgd[(QUADSIZE+1)*(QUADSIZE+1)]; // average distances double damage[NDEVICES]; // damage encountered - double future[NEVENTS+1]; // future events + double future[NEVENTS]; // future events char passwd[10]; // Self Destruct password int kx[(QUADSIZE+1)*(QUADSIZE+1)]; // enemy sector locations int ky[(QUADSIZE+1)*(QUADSIZE+1)]; @@ -331,18 +343,6 @@ typedef enum {FWON, FDEPLETE, FLIFESUP, FNRG, FBATTLE, FHOLE} FINTYPE ; enum loctype {neither, quadrant, sector}; -/* Define future events */ -#define FSPY 0 // Spy event happens always (no future[] entry) - // can cause SC to tractor beam Enterprise -#define FSNOVA 1 // Supernova -#define FTBEAM 2 // Commander tractor beams Enterprise -#define FSNAP 3 // Snapshot for time warp -#define FBATTAK 4 // Commander attacks base -#define FCDBAS 5 // Commander destroys base -#define FSCMOVE 6 // Supercommander moves (might attack base) -#define FSCDBAS 7 // Supercommander destroys base -#define FDSPROB 8 // Move deep space probe - #ifdef INCLUDED char *device[NDEVICES] = { "S. R. Sensors",