X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=ai.c;h=1e70f2a72c84f7865cdac3cf46ee27abf62d8c2c;hp=fd9cf8ceecedcc77db509c839758e6a6208b5128;hb=c5b4cba0782b02223a1064273a782b845ce089aa;hpb=070639b283c6f4e324a24bbf604f3ce2b6900899 diff --git a/ai.c b/ai.c index fd9cf8c..1e70f2a 100644 --- a/ai.c +++ b/ai.c @@ -49,7 +49,7 @@ static int tryexit(int lookx, int looky, int ienm, int loccom, int irun) ientesc=0; isatb=0; game.future[FSCMOVE]=0.2777+game.state.date; - game.future[FSCDBAS]=1e30; + game.future[FSCDBAS]=FOREVER; game.state.isx=iqx; game.state.isy=iqy; } @@ -330,7 +330,7 @@ static int movescom(int iqx, int iqy, int flag, int *ipage) isatb=0; ishere=0; ientesc=0; - game.future[FSCDBAS]=1e30; + game.future[FSCDBAS]=FOREVER; for_local_enemies(i) if (game.quad[game.kx[i]][game.ky[i]] == IHS) break; game.quad[game.kx[i]][game.ky[i]] = IHDOT; @@ -370,15 +370,15 @@ void scom(int *ipage) { int i, i2, j, ideltax, ideltay, ibqx, ibqy, sx, sy, ifindit, iwhichb; int iqx, iqy; - int basetbl[BASEMAX]; - double bdist[BASEMAX]; + int basetbl[BASEMAX+1]; + double bdist[BASEMAX+1]; int flag; #ifdef DEBUG if (idebug) prout("SCOM"); #endif /* Decide on being active or passive */ - flag = ((game.state.killc+game.state.killk)/(game.state.date+0.01-indate) < 0.1*skill*(skill+1.0) || + flag = ((NKILLC+NKILLK)/(game.state.date+0.01-indate) < 0.1*skill*(skill+1.0) || (game.state.date-indate) < 3.0); if (iscate==0 && flag) { /* compute move away from Enterprise */ @@ -394,7 +394,7 @@ void scom(int *ipage) /* compute distances to starbases */ if (game.state.rembase <= 0) { /* nothing left to do */ - game.future[FSCMOVE] = 1e30; + game.future[FSCMOVE] = FOREVER; return; } sx = game.state.isx; @@ -498,7 +498,7 @@ void scom(int *ipage) } /* check for a base */ if (game.state.rembase == 0) { - game.future[FSCMOVE] = 1e30; + game.future[FSCMOVE] = FOREVER; } else for_starbases(i) { ibqx = game.state.baseqx[i]; @@ -509,7 +509,7 @@ void scom(int *ipage) iseenit = 0; isatb=1; game.future[FSCDBAS] = game.state.date + 1.0 +2.0*Rand(); - if (game.future[FCDBAS] < 1e30) game.future[FSCDBAS] += + if (game.future[FCDBAS] < FOREVER) game.future[FSCDBAS] += game.future[FCDBAS]-game.state.date; if (game.damage[DRADIO] > 0 && condit != IHDOCKED) return; /* no warning */