From 74121a21cca010c891ef19a178f9b9acf4d473eb Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 28 Sep 2006 09:48:31 +0000 Subject: [PATCH] More elimination of FORTAN-style if statements. --- src/ai.c | 21 ++++-- src/battle.c | 9 ++- src/events.c | 3 +- src/moving.c | 12 +++- src/reports.c | 3 +- src/setup.c | 6 +- src/sst.c | 6 +- src/sst.h | 184 +++++++++++++++++++++++++------------------------- 8 files changed, 133 insertions(+), 111 deletions(-) diff --git a/src/ai.c b/src/ai.c index 66b50d7..d222f70 100644 --- a/src/ai.c +++ b/src/ai.c @@ -12,7 +12,8 @@ static bool tryexit(coord look, int ienm, int loccom, bool irun) game.state.galaxy[iq.x][iq.y].supernova || game.state.galaxy[iq.x][iq.y].klingons > MAXKLQUAD-1) return false; /* no can do -- neg energy, supernovae, or >MAXKLQUAD-1 Klingons */ - if (ienm == IHR) return false; /* Romulans cannot escape! */ + if (ienm == IHR) + return false; /* Romulans cannot escape! */ if (!irun) { /* avoid intruding on another commander's territory */ if (ienm == IHC) { @@ -134,7 +135,8 @@ static void movebaddy(coord com, int loccom, feature ienm) */ forces = game.kpower[loccom]+100.0*game.nenhere+400*(nbaddys-1); - if (!game.shldup) forces += 1000; /* Good for enemy if shield is down! */ + if (!game.shldup) + forces += 1000; /* Good for enemy if shield is down! */ if (!damaged(DPHASER) || !damaged(DPHOTON)) { if (damaged(DPHASER)) /* phasers damaged */ forces += 300.0; @@ -169,9 +171,12 @@ static void movebaddy(coord com, int loccom, feature ienm) } /* calculate preferred number of steps */ nsteps = motion < 0 ? -motion : motion; - if (motion > 0 && nsteps > mdist) nsteps = mdist; /* don't overshoot */ - if (nsteps > QUADSIZE) nsteps = QUADSIZE; /* This shouldn't be necessary */ - if (nsteps < 1) nsteps = 1; /* This shouldn't be necessary */ + if (motion > 0 && nsteps > mdist) + nsteps = mdist; /* don't overshoot */ + if (nsteps > QUADSIZE) + nsteps = QUADSIZE; /* This shouldn't be necessary */ + if (nsteps < 1) + nsteps = 1; /* This shouldn't be necessary */ if (idebug) { proutn("NSTEPS = %d:", nsteps); } @@ -451,7 +456,8 @@ void scom(void) break; } } - if (ifindit==0) return; /* Nothing suitable -- wait until next time*/ + if (ifindit==0) + return; /* Nothing suitable -- wait until next time*/ ibq = game.state.baseq[iwhichb]; /* decide how to move toward base */ ideltax = ibq.x - game.state.kscmdr.x; @@ -507,7 +513,8 @@ void scom(void) ibq = game.state.baseq[i]; if (same(ibq, game.state.kscmdr) && same(game.state.kscmdr, game.battle)) { /* attack the base */ - if (flag) return; /* no, don't attack base! */ + if (flag) + return; /* no, don't attack base! */ game.iseenit = false; game.isatb = 1; schedule(FSCDBAS, 1.0 +2.0*Rand()); diff --git a/src/battle.c b/src/battle.c index 3f3accd..836f1e7 100644 --- a/src/battle.c +++ b/src/battle.c @@ -538,7 +538,8 @@ static void fry(double hit) if (loop2 < loop1) continue; ktr += 1; - if (ktr==3) skip(1); + if (ktr==3) + skip(1); proutn(_(" and ")); } proutn(device[j]); @@ -597,7 +598,8 @@ void attack(bool torps_ok) where = sector; for_local_enemies(loop) { - if (game.kpower[loop] < 0) continue; /* too weak to attack */ + if (game.kpower[loop] < 0) + continue; /* too weak to attack */ /* compute hit strength and diminish shield power */ r = Rand(); /* Increase chance of photon torpedos if docked or enemy energy low */ @@ -617,7 +619,8 @@ void attack(bool torps_ok) (iquad==IHS && r > 0.07) || (iquad==IHQUEST && r > 0.05); if (usephasers) { /* Enemy uses phasers */ - if (game.condition == docked) continue; /* Don't waste the effort! */ + if (game.condition == docked) + continue; /* Don't waste the effort! */ attempt = true; /* Attempt to attack */ dustfac = 0.8+0.05*Rand(); hit = game.kpower[loop]*pow(dustfac,game.kavgd[loop]); diff --git a/src/events.c b/src/events.c index b82aff7..13ceea0 100644 --- a/src/events.c +++ b/src/events.c @@ -832,7 +832,8 @@ void snova(bool induced, coord *w) stars += game.state.galaxy[nq.x][nq.y].stars; } } - if (stars == 0) return; /* nothing to supernova exists */ + if (stars == 0) + return; /* nothing to supernova exists */ num = Rand()*stars + 1; for_quadrants(nq.x) { for_quadrants(nq.y) { diff --git a/src/moving.c b/src/moving.c index b68c78b..0be93c7 100644 --- a/src/moving.c +++ b/src/moving.c @@ -109,7 +109,8 @@ void imove(bool novapush) prout(_("YOU WILL BE DESTROYED.")); } /* Compute final position in new quadrant */ - if (trbeam) return; /* Don't bother if we are to be beamed */ + if (trbeam) /* Don't bother if we are to be beamed */ + return; game.quadrant.x = (w.x+(QUADSIZE-1))/QUADSIZE; game.quadrant.y = (w.y+(QUADSIZE-1))/QUADSIZE; game.sector.x = w.x - QUADSIZE*(game.quadrant.x-1); @@ -564,7 +565,11 @@ void warp(bool timewarp) 100.0*game.optime/game.state.remtime); prout(_(" percent of our")); proutn(_(" remaining time. Are you sure this is wise?\" ")); - if (ja() == false) { game.ididit = false; game.optime=0; return;} + if (ja() == false) { + game.ididit = false; + game.optime=0; + return; + } } } /* Entry WARPX */ @@ -1165,7 +1170,8 @@ void abandn(void) if (VALID_SECTOR(game.sector.x, game.sector.y) && game.quad[game.sector.x][game.sector.y] == IHDOT) break; } - if (l < QUADSIZE+1) break; /* found a spot */ + if (l < QUADSIZE+1) + break; /* found a spot */ game.sector.x=QUADSIZE/2; game.sector.y=QUADSIZE/2; newqad(true); diff --git a/src/reports.c b/src/reports.c index f273cff..e7c433f 100644 --- a/src/reports.c +++ b/src/reports.c @@ -480,7 +480,8 @@ void eta(void) proutn(_("Time or arrival date? ")); if (scan()==IHREAL) { ttime = aaitem; - if (ttime > game.state.date) ttime -= game.state.date; // Actually a star date + if (ttime > game.state.date) + ttime -= game.state.date; // Actually a star date if (ttime <= 1e-10 || (twarp=(floor(sqrt((10.0*game.dist)/ttime)*10.0)+1.0)/10.0) > 10) { prout(_("We'll never make it, sir.")); diff --git a/src/setup.c b/src/setup.c index 1948b8a..852212b 100644 --- a/src/setup.c +++ b/src/setup.c @@ -192,7 +192,8 @@ void setup(bool needprompt) setup_names(); // Decide how many of everything - if (choose(needprompt)) return; // frozen game + if (choose(needprompt)) + return; // frozen game // Prepare the Enterprise game.alldone = game.gamewon = false; game.ship = IHE; @@ -427,7 +428,8 @@ bool choose(bool needprompt) if (needprompt) /* Can start with command line options */ proutn(_("Would you like a regular, tournament, or saved game? ")); scan(); - if (strlen(citem)==0) continue; // Try again + if (strlen(citem)==0) // Try again + continue; if (isit("tournament")) { while (scan() == IHEOL) { proutn(_("Type in tournament number-")); diff --git a/src/sst.c b/src/sst.c index a0d732d..ae82984 100644 --- a/src/sst.c +++ b/src/sst.c @@ -583,10 +583,12 @@ static void makemoves(void) } commandhook(commands[i].name, false); for (;;) { - if (game.alldone) break; // Game has ended + if (game.alldone) + break; // Game has ended if (game.optime != 0.0) { events(); - if (game.alldone) break; // Events did us in + if (game.alldone) + break; // Events did us in } if (game.state.galaxy[game.quadrant.x][game.quadrant.y].supernova) { // Galaxy went Nova! atover(false); diff --git a/src/sst.h b/src/sst.h index 2dbb50c..e4eb9d3 100644 --- a/src/sst.h +++ b/src/sst.h @@ -342,103 +342,103 @@ typedef enum { enum loctype {neither, quadrant, sector}; /* Function prototypes */ -void prelim(void); -void attack(bool); -bool choose(bool); -void setup(bool); -void score(void); -void atover(bool); -void srscan(void); -void lrscan(void); -void phasers(void); -void photon(void); -void warp(bool); -void doshield(bool); -void dock(bool); -void dreprt(void); -void chart(void); -void rechart(void); -void impuls(void); -void wait(void); -void setwrp(void); -void events(void); -void report(void); -void eta(void); -void mayday(void); -void abandn(void); -void finish(FINTYPE); -void selfdestruct(void); -void kaboom(void); -void freeze(bool); -bool thaw(void); -void plaque(void); -int scan(void); -void status(int req); -void request(void); +extern void prelim(void); +extern void attack(bool); +extern bool choose(bool); +extern void setup(bool); +extern void score(void); +extern void atover(bool); +extern void srscan(void); +extern void lrscan(void); +extern void phasers(void); +extern void photon(void); +extern void warp(bool); +extern void doshield(bool); +extern void dock(bool); +extern void dreprt(void); +extern void chart(void); +extern void rechart(void); +extern void impuls(void); +extern void wait(void); +extern void setwrp(void); +extern void events(void); +extern void report(void); +extern void eta(void); +extern void mayday(void); +extern void abandn(void); +extern void finish(FINTYPE); +extern void selfdestruct(void); +extern void kaboom(void); +extern void freeze(bool); +extern bool thaw(void); +extern void plaque(void); +extern int scan(void); +extern void status(int req); +extern void request(void); #define IHEOL (0) #define IHALPHA (1) #define IHREAL (2) -void chew(void); -void chew2(void); -void skip(int); -void prout(const char *, ...) __attribute__((format(printf, 1, 2))); -void proutn(const char *, ...) __attribute__((format(printf, 1, 2))); -void prouts(const char *, ...) __attribute__((format(printf, 1, 2))); -void prstat(const char *txt, const char *fmt, ...) +extern void chew(void); +extern void chew2(void); +extern void skip(int); +extern void prout(const char *, ...) __attribute__((format(printf, 1, 2))); +extern void proutn(const char *, ...) __attribute__((format(printf, 1, 2))); +extern void prouts(const char *, ...) __attribute__((format(printf, 1, 2))); +extern void prstat(const char *txt, const char *fmt, ...) __attribute__((format(printf, 2, 3))); -void stars(void); -void newqad(bool); -bool ja(void); -void cramen(feature); -void crmshp(void); -char *cramlc(enum loctype, coord w); -double expran(double); -double Rand(void); -coord randplace(int); -coord dropin(feature); -void newcnd(void); -void sortkl(void); -void imove(bool); -void ram(bool, feature, coord); -void crmena(bool, feature, enum loctype, coord w); -void deadkl(coord, feature, coord); -void timwrp(void); -void moveklings(void); -void torpedo(double, double, coord, double *, int, int); -void huh(void); -void pause_reset(void); -void pause_game(bool); -void nova(coord); -void snova(bool, coord *); -void scom(void); -void hittem(double *); -bool isit(char *); -void preport(void); -void orbit(void); -void sensor(void); -void drawmaps(int); -void beam(void); -void mine(void); -void usecrystals(void); -void shuttle(void); -void deathray(void); -void debugme(void); -void attakreport(bool); -void movetho(void); -void probe(void); -void iostart(void); -void setwnd(WINDOW *); -void warble(void); -void boom(coord); -void tracktorpedo(coord, int, int, int, int); -void cgetline(char *, int); -void waitfor(void); -void setpassword(void); -void commandhook(char *, bool); -void makechart(void); -coord newkling(int); +extern void stars(void); +extern void newqad(bool); +extern bool ja(void); +extern void cramen(feature); +extern void crmshp(void); +extern char *cramlc(enum loctype, coord w); +extern double expran(double); +extern double Rand(void); +extern coord randplace(int); +extern coord dropin(feature); +extern void newcnd(void); +extern void sortkl(void); +extern void imove(bool); +extern void ram(bool, feature, coord); +extern void crmena(bool, feature, enum loctype, coord w); +extern void deadkl(coord, feature, coord); +extern void timwrp(void); +extern void moveklings(void); +extern void torpedo(double, double, coord, double *, int, int); +extern void huh(void); +extern void pause_reset(void); +extern void pause_game(bool); +extern void nova(coord); +extern void snova(bool, coord *); +extern void scom(void); +extern void hittem(double *); +extern bool isit(char *); +extern void preport(void); +extern void orbit(void); +extern void sensor(void); +extern void drawmaps(int); +extern void beam(void); +extern void mine(void); +extern void usecrystals(void); +extern void shuttle(void); +extern void deathray(void); +extern void debugme(void); +extern void attakreport(bool); +extern void movetho(void); +extern void probe(void); +extern void iostart(void); +extern void setwnd(WINDOW *); +extern void warble(void); +extern void boom(coord); +extern void tracktorpedo(coord, int, int, int, int); +extern void cgetline(char *, int); +extern void waitfor(void); +extern void setpassword(void); +extern void commandhook(char *, bool); +extern void makechart(void); +extern coord newkling(int); #if BSD_BUG_FOR_BUG -void visual(void); +extern void visual(void); #endif extern WINDOW *curwnd; -- 2.31.1