From 3590a3f873652e8e718ebe3898c913cdf6b36d1c Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 19 Sep 2006 09:19:41 +0000 Subject: [PATCH] More booleans cleanup. --- src/ai.c | 44 +++++++++++++++++++++++++------------------- src/events.c | 44 +++++++++++++++++++++----------------------- src/sst.h | 2 +- 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/ai.c b/src/ai.c index 9e6c310..734a5b5 100644 --- a/src/ai.c +++ b/src/ai.c @@ -1,8 +1,9 @@ #include "sst.h" -static int tryexit(int lookx, int looky, int ienm, int loccom, int irun) +static bool tryexit(int lookx, int looky, int ienm, int loccom, int irun) +/* a bad guy attempts to bug out */ { - int l; + int n; coord iq; iq.x = game.quadrant.x+(lookx+(QUADSIZE-1))/QUADSIZE - 1; @@ -10,18 +11,18 @@ static int tryexit(int lookx, int looky, int ienm, int loccom, int irun) if (!VALID_QUADRANT(iq.x,iq.y) || game.state.galaxy[iq.x][iq.y].supernova || game.state.galaxy[iq.x][iq.y].klingons > 8) - return 0; /* no can do -- neg energy, supernovae, or >8 Klingons */ - if (ienm == IHR) return 0; /* Romulans cannot escape! */ + return false; /* no can do -- neg energy, supernovae, or >8 Klingons */ + if (ienm == IHR) return false; /* Romulans cannot escape! */ if (irun == 0) { /* avoid intruding on another commander's territory */ if (ienm == IHC) { - for_commanders(l) - if (same(game.state.kcmdr[l],iq)) return 0; + for_commanders(n) + if (same(game.state.kcmdr[n],iq)) return false; /* refuse to leave if currently attacking starbase */ - if (same(game.battle, game.quadrant)) return 0; + if (same(game.battle, game.quadrant)) return false; } /* don't leave if over 1000 units of energy */ - if (game.kpower[loccom] > 1000.) return 0; + if (game.kpower[loccom] > 1000.) return false; } /* print escape message and move out of quadrant. We know this if either short or long range sensors are working */ @@ -54,25 +55,26 @@ static int tryexit(int lookx, int looky, int ienm, int loccom, int irun) game.state.kscmdr.y=iq.y; } else { - for_commanders(l) { - if (same(game.state.kcmdr[l], game.quadrant)) { - game.state.kcmdr[l]=iq; + for_commanders(n) { + if (same(game.state.kcmdr[n], game.quadrant)) { + game.state.kcmdr[n]=iq; break; } } game.comhere = 0; } - return 1; /* success */ + return true; /* success */ } -static void movebaddy(coord com, int loccom, int ienm) +static void movebaddy(coord com, int loccom, int ienm) +/* tactical movement for the bad guys */ { int motion, mdist, nsteps, mx, my, lookx, looky, ll; coord next; int irun = 0; int krawlx, krawly; - int success; + bool success; int attempts; /* This should probably be just game.comhere + game.ishere */ int nbaddys = game.skill >= SKILL_EXPERT ? @@ -186,7 +188,7 @@ static void movebaddy(coord com, int loccom, int ienm) looky = next.y + my; krawlx = mx < 0 ? 1 : -1; krawly = my < 0 ? 1 : -1; - success = 0; + success = false; attempts = 0; /* Settle mysterious hang problem */ while (attempts++ < 20 && !success) { if (lookx < 1 || lookx > QUADSIZE) { @@ -220,7 +222,7 @@ static void movebaddy(coord com, int loccom, int ienm) } else break; /* we have failed */ } - else success = 1; + else success = true; } if (success) { next.x = lookx; @@ -254,6 +256,7 @@ static void movebaddy(coord com, int loccom, int ienm) } void movcom(void) +/* move a commander */ { coord w; int i; @@ -291,7 +294,8 @@ void movcom(void) sortkl(); } -static bool movescom(coord iq, int flag, int *ipage) +static bool movescom(coord iq, bool flag, bool *ipage) +/* commander movement helper */ { int i; @@ -350,13 +354,14 @@ static bool movescom(coord iq, int flag, int *ipage) return false; /* looks good! */ } -void scom(int *ipage) +void scom(bool *ipage) +/* move the Super Commander */ { int i, i2, j, ideltax, ideltay, ifindit, iwhichb; coord iq, sc, ibq; int basetbl[BASEMAX+1]; double bdist[BASEMAX+1]; - int flag; + bool flag; if (idebug) prout("== SCOM"); @@ -525,6 +530,7 @@ void scom(int *ipage) } void movetho(void) +/* move the Tholian */ { int idx, idy, im, i; coord dummy; diff --git a/src/events.c b/src/events.c index 6f2cac9..39a1ec6 100644 --- a/src/events.c +++ b/src/events.c @@ -58,9 +58,9 @@ static bool cancelrest(void) void events(void) { - int ictbeam=0, ipage=0, istract=0, line, i=0, j, k, l, ixhold=0, iyhold=0; + int istract=0, evcode, i=0, j, k, l; double fintim = game.state.date + game.optime, datemin, xtime, repair, yank=0; - int radio_was_broken; + bool radio_was_broken, ictbeam = false, ipage = false; struct quadrant *pdest, *q; coord w, hold; event *ev, *ev2; @@ -92,15 +92,15 @@ void events(void) radio_was_broken = (game.damage[DRADIO] != 0.0); for (;;) { - /* Select earliest extraneous event, line==0 if no events */ - line = FSPY; + /* Select earliest extraneous event, evcode==0 if no events */ + evcode = FSPY; if (game.alldone) return; datemin = fintim; for (l = 1; l < NEVENTS; l++) if (game.future[l].date < datemin) { - line = l; + evcode = l; if (idebug) - prout("== Event %d fires", line); + prout("== Event %d fires", evcode); datemin = game.future[l].date; } xtime = datemin-game.state.date; @@ -141,12 +141,12 @@ void events(void) prout(_(" The star chart is now up to date.\"")); skip(1); } - /* Cause extraneous event LINE to occur */ + /* Cause extraneous event EVCODE to occur */ game.optime -= xtime; - switch (line) { + switch (evcode) { case FSNOVA: /* Supernova */ - if (ipage==0) pause_game(1); - ipage=1; + if (!ipage) pause_game(1); + ipage=true; snova(0,0); schedule(FSNOVA, expran(0.5*game.intime)); if (game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova) return; @@ -168,7 +168,7 @@ void events(void) } else return; case FTBEAM: /* Tractor beam */ - if (line==FTBEAM) { + if (evcode==FTBEAM) { if (game.state.remcom == 0) { unschedule(FTBEAM); break; @@ -184,8 +184,8 @@ void events(void) } /* tractor beaming cases merge here */ yank = sqrt(yank); - if (ipage==0) pause_game(1); - ipage=1; + if (!ipage) pause_game(1); + ipage=true; game.optime = (10.0/(7.5*7.5))*yank; /* 7.5 is yank rate (warp 7.5) */ ictbeam = 1; skip(1); @@ -212,7 +212,7 @@ void events(void) prout(_("Galileo, left on the planet surface, is well hidden.")); } } - if (line==0) + if (evcode==0) game.quadrant = game.state.kscmdr; else game.quadrant = game.state.kcmdr[i]; @@ -279,8 +279,8 @@ void events(void) if (game.damage[DRADIO] != 0.0 && game.condit != IHDOCKED) break; /* No warning :-( */ game.iseenit = 1; - if (ipage==0) pause_game(1); - ipage = 1; + if (!ipage) pause_game(1); + ipage = true; skip(1); proutn(_("Lt. Uhura- \"Captain, the starbase in ")); prout(cramlc(quadrant, game.battle)); @@ -296,12 +296,11 @@ void events(void) game.isatb = 2; if (!game.state.galaxy[game.state.kscmdr.x][game.state.kscmdr.y].starbase) break; /* WAS RETURN! */ - ixhold = game.battle.x; - iyhold = game.battle.y; + hold = game.battle; game.battle = game.state.kscmdr; /* FALL THROUGH */ case FCDBAS: /* Commander succeeds in destroying base */ - if (line==FCDBAS) { + if (evcode==FCDBAS) { unschedule(FCDBAS); /* find the lucky pair */ for_commanders(i) @@ -328,8 +327,8 @@ void events(void) else if (game.state.rembase != 1 && (game.damage[DRADIO] <= 0.0 || game.condit == IHDOCKED)) { /* Get word via subspace radio */ - if (ipage==0) pause_game(1); - ipage = 1; + if (!ipage) pause_game(1); + ipage = true; skip(1); prout(_("Lt. Uhura- \"Captain, Starfleet Command reports that")); proutn(_(" the starbase in ")); @@ -348,8 +347,7 @@ void events(void) game.state.rembase--; if (game.isatb == 2) { /* reinstate a commander's base attack */ - game.battle.x = ixhold; - game.battle.y = iyhold; + game.battle = hold; game.isatb = 0; } else { diff --git a/src/sst.h b/src/sst.h index e9a805f..81c1a41 100644 --- a/src/sst.h +++ b/src/sst.h @@ -385,7 +385,7 @@ void huh(void); void pause_game(int); void nova(int, int); void snova(int, int); -void scom(int *); +void scom(bool *); void hittem(double *); void prouts(char *, ...); int isit(char *); -- 2.31.1