#include <string.h>\r
\r
void attakreport(void) {\r
- if (frozen.future[FCDBAS] < 1e30) {\r
+ if (game.future[FCDBAS] < 1e30) {\r
proutn("Starbase in ");\r
cramlc(1, batx, baty);\r
prout(" is currently under attack.");\r
proutn("It can hold out until Stardate ");\r
- cramf(frozen.future[FCDBAS], 0,1);\r
+ cramf(game.future[FCDBAS], 0,1);\r
prout(".");\r
}\r
if (isatb == 1) {\r
proutn("Starbase in ");\r
- cramlc(1, state.isx, state.isy);\r
+ cramlc(1, game.state.isx, game.state.isy);\r
prout(" is under Super-commander attack.");\r
proutn("It can hold out until Stardate ");\r
- cramf(frozen.future[FSCDBAS], 0, 1);\r
+ cramf(game.future[FSCDBAS], 0, 1);\r
prout(".");\r
}\r
}\r
case 5: s3="emeritus"; break;\r
default: s3="skilled"; break;\r
}\r
- printf("\nYou %s playing a %s%s %s frozen.\n",\r
+ printf("\nYou %s playing a %s%s %s game.\n",\r
alldone? "were": "are now", s1, s2, s3);\r
if (skill>3 && thawed && !alldone) prout("No plaque is allowed.");\r
if (tourn) printf("This is tournament game %d.\n", tourn);\r
- if (f) printf("Your secret password is \"%s\"\n",frozen.passwd);\r
+ if (f) printf("Your secret password is \"%s\"\n",game.passwd);\r
printf("%d of %d Klingons have been killed",\r
- state.killk+state.killc+state.nsckill, inkling);\r
- if (state.killc) printf(", including %d Commander%s.\n", state.killc, state.killc==1?"":"s");\r
- else if (state.killk+state.nsckill > 0) prout(", but no Commanders.");\r
+ game.state.killk+game.state.killc+game.state.nsckill, inkling);\r
+ if (game.state.killc) printf(", including %d Commander%s.\n", game.state.killc, game.state.killc==1?"":"s");\r
+ else if (game.state.killk+game.state.nsckill > 0) prout(", but no Commanders.");\r
else prout(".");\r
if (skill > 2) printf("The Super Commander has %sbeen destroyed.\n",\r
- state.nscrem?"not ":"");\r
- if (state.rembase != inbase) {\r
+ game.state.nscrem?"not ":"");\r
+ if (game.state.rembase != inbase) {\r
proutn("There ");\r
- if (inbase-state.rembase==1) proutn("has been 1 base");\r
+ if (inbase-game.state.rembase==1) proutn("has been 1 base");\r
else {\r
proutn("have been ");\r
- crami(inbase-state.rembase, 1);\r
+ crami(inbase-game.state.rembase, 1);\r
proutn(" bases");\r
}\r
proutn(" destroyed, ");\r
- crami(state.rembase, 1);\r
+ crami(game.state.rembase, 1);\r
prout(" remaining.");\r
}\r
else printf("There are %d bases.\n", inbase);\r
- if (frozen.damage[DRADIO] == 0.0 || condit == IHDOCKED || iseenit) {\r
+ if (game.damage[DRADIO] == 0.0 || condit == IHDOCKED || iseenit) {\r
/* Don't report this if not seen and\r
either the radio is dead or not at base! */\r
attakreport();\r
if (nprobes!=1) proutn("s");\r
prout(".");\r
}\r
- if ((frozen.damage[DRADIO] == 0.0 || condit == IHDOCKED)&&\r
- frozen.future[FDSPROB] != 1e30) {\r
+ if ((game.damage[DRADIO] == 0.0 || condit == IHDOCKED)&&\r
+ game.future[FDSPROB] != 1e30) {\r
if (isarmed) \r
proutn("An armed deep space probe is in");\r
else\r
void lrscan(void) {\r
int x, y;\r
chew();\r
- if (frozen.damage[DLRSENS] != 0.0) {\r
+ if (game.damage[DLRSENS] != 0.0) {\r
/* Now allow base's sensors if docked */\r
if (condit != IHDOCKED) {\r
prout("LONG-RANGE SENSORS DAMAGED.");\r
if (x == 0 || x > 8 || y == 0 || y > 8)\r
printf(" -1");\r
else {\r
- printf("%5d", state.galaxy[x][y]);\r
- frozen.starch[x][y] = frozen.damage[DRADIO] > 0 ? state.galaxy[x][y]+1000 :1;\r
+ printf("%5d", game.state.galaxy[x][y]);\r
+ game.starch[x][y] = game.damage[DRADIO] > 0 ? game.state.galaxy[x][y]+1000 :1;\r
}\r
}\r
putchar('\n');\r
chew();\r
\r
for (i = 1; i <= ndevice; i++) {\r
- if (frozen.damage[i] > 0.0) {\r
+ if (game.damage[i] > 0.0) {\r
if (!jdam) {\r
skip(1);\r
prout("DEVICE -REPAIR TIMES-");\r
jdam = TRUE;\r
}\r
printf(" %16s ", device[i]);\r
- cramf(frozen.damage[i]+0.05, 8, 2);\r
+ cramf(game.damage[i]+0.05, 8, 2);\r
proutn(" ");\r
- cramf(docfac*frozen.damage[i]+0.005, 8, 2);\r
+ cramf(docfac*game.damage[i]+0.005, 8, 2);\r
skip(1);\r
}\r
}\r
\r
chew();\r
skip(1);\r
- if (stdamtim != 1e30 && stdamtim != state.date && condit == IHDOCKED) {\r
+ if (stdamtim != 1e30 && stdamtim != game.state.date && condit == IHDOCKED) {\r
prout("Spock- \"I revised the Star Chart from the");\r
prout(" starbase's records.\"");\r
skip(1);\r
if (stdamtim != 1e30) {\r
if (condit == IHDOCKED) {\r
/* We are docked, so restore chart from base information */\r
- stdamtim = state.date;\r
+ stdamtim = game.state.date;\r
for (i=1; i <= 8 ; i++)\r
for (j=1; j <= 8; j++)\r
- if (frozen.starch[i][j] == 1) frozen.starch[i][j] = state.galaxy[i][j]+1000;\r
+ if (game.starch[i][j] == 1) game.starch[i][j] = game.state.galaxy[i][j]+1000;\r
}\r
else {\r
proutn("(Last surveillance update ");\r
- cramf(state.date-stdamtim, 0, 1);\r
+ cramf(game.state.date-stdamtim, 0, 1);\r
prout(" stardates ago.)");\r
}\r
}\r
for (i = 1; i <= 8; i++) {\r
printf("%d -", i);\r
for (j = 1; j <= 8; j++) {\r
- if (frozen.starch[i][j] < 0)\r
+ if (game.starch[i][j] < 0)\r
printf(" .1.");\r
- else if (frozen.starch[i][j] == 0)\r
+ else if (game.starch[i][j] == 0)\r
printf(" ...");\r
- else if (frozen.starch[i][j] > 999)\r
- printf("%5d", frozen.starch[i][j]-1000);\r
+ else if (game.starch[i][j] > 999)\r
+ printf("%5d", game.starch[i][j]-1000);\r
else\r
- printf("%5d", state.galaxy[i][j]);\r
+ printf("%5d", game.state.galaxy[i][j]);\r
}\r
prout(" -");\r
}\r
int goodScan=TRUE;\r
switch (l) {\r
case 1: // SRSCAN\r
- if (frozen.damage[DSRSENS] != 0) {\r
+ if (game.damage[DSRSENS] != 0) {\r
/* Allow base's sensors if docked */\r
if (condit != IHDOCKED) {\r
prout("SHORT-RANGE SENSORS DAMAGED");\r
prout("[Using starbase's sensors]");\r
}\r
if (goodScan)\r
- frozen.starch[quadx][quady] = frozen.damage[DRADIO]>0.0 ?\r
- state.galaxy[quadx][quady]+1000:1;\r
+ game.starch[quadx][quady] = game.damage[DRADIO]>0.0 ?\r
+ game.state.galaxy[quadx][quady]+1000:1;\r
scan();\r
if (isit("chart")) nn = TRUE;\r
if (isit("no")) rightside = FALSE;\r
printf("%2d ", i);\r
for (j = 1; j <= 10; j++) {\r
if (goodScan || (abs(i-sectx)<= 1 && abs(j-secty) <= 1))\r
- printf("%c ",frozen.quad[i][j]);\r
+ printf("%c ",game.quad[i][j]);\r
else\r
printf("- ");\r
}\r
if (rightside) {\r
switch (jj) {\r
case 1:\r
- printf(" Stardate %.1f", state.date);\r
+ printf(" Stardate %.1f", game.state.date);\r
break;\r
case 2:\r
if (condit != IHDOCKED) newcnd();\r
break;\r
case 4:\r
printf(" Life Support ");\r
- if (frozen.damage[DLIFSUP] != 0.0) {\r
+ if (game.damage[DLIFSUP] != 0.0) {\r
if (condit == IHDOCKED)\r
printf("DAMAGED, supported by starbase");\r
else\r
break;\r
case 8:\r
printf(" Shields ");\r
- if (frozen.damage[DSHIELD] != 0)\r
+ if (game.damage[DSHIELD] != 0)\r
printf("DAMAGED,");\r
else if (shldup)\r
printf("UP,");\r
(int)((100.0*shield)/inshld + 0.5), shield);\r
break;\r
case 9:\r
- printf(" Klingons Left %d", state.remkl);\r
+ printf(" Klingons Left %d", game.state.remkl);\r
break;\r
case 10:\r
- printf(" Time Left %.2f", state.remtime);\r
+ printf(" Time Left %.2f", game.state.remtime);\r
break;\r
}\r
\r
int key, ix1, ix2, iy1, iy2, prompt=FALSE;\r
int wfl;\r
double ttime, twarp, tpower;\r
- if (frozen.damage[DCOMPTR] != 0.0) {\r
+ if (game.damage[DCOMPTR] != 0.0) {\r
prout("COMPUTER DAMAGED, USE A POCKET CALCULATOR.");\r
skip(1);\r
return;\r
proutn("Time or arrival date? ");\r
if (scan()==IHREAL) {\r
ttime = aaitem;\r
- if (ttime > state.date) ttime -= state.date; // Actually a star date\r
+ if (ttime > game.state.date) ttime -= game.state.date; // Actually a star date\r
if (ttime <= 1e-10 ||\r
(twarp=(floor(sqrt((10.0*dist)/ttime)*10.0)+1.0)/10.0) > 10) {\r
prout("We'll never make it, sir.");\r
prout(".");\r
if (wfl) {\r
proutn("And we will arrive at stardate ");\r
- cramf(state.date+ttime, 1, 1);\r
+ cramf(game.state.date+ttime, 1, 1);\r
prout(".");\r
}\r
else if (twarp==1.0)\r
cramf(twarp, 1, 2);\r
skip(1);\r
proutn("and we will arrive at stardate ");\r
- cramf(state.date+ttime, 1, 2);\r
+ cramf(game.state.date+ttime, 1, 2);\r
prout(".");\r
}\r
- if (state.remtime < ttime)\r
+ if (game.state.remtime < ttime)\r
prout("Unfortunately, the Federation will be destroyed by then.");\r
if (twarp > 6.0)\r
prout("You'll be taking risks at that speed, Captain");\r
- if ((isatb==1 && state.isy == ix1 && state.isx == iy1 &&\r
- frozen.future[FSCDBAS]< ttime+state.date)||\r
- (frozen.future[FCDBAS]<ttime+state.date && baty==ix1 && batx == iy1))\r
+ if ((isatb==1 && game.state.isy == ix1 && game.state.isx == iy1 &&\r
+ game.future[FSCDBAS]< ttime+game.state.date)||\r
+ (game.future[FCDBAS]<ttime+game.state.date && baty==ix1 && batx == iy1))\r
prout("The starbase there will be destroyed by then.");\r
proutn("New warp factor to try? ");\r
if (scan() == IHREAL) {\r