X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=battle.c;h=36a6cfa7a126273f4de9cd872c3dc5a56a94418c;hp=bcfd70788b72210b4350eee8d58f4aa5d08faf6b;hb=760ecf730c119682b414153a629ec2adc224434f;hpb=e29006d00a2962f32312e31bf142f77a99bde04d diff --git a/battle.c b/battle.c index bcfd707..36a6cfa 100644 --- a/battle.c +++ b/battle.c @@ -1,6 +1,4 @@ #include -#include "conio.h" -#include "sstlinux.h" #include "sst.h" void doshield(int i) { @@ -176,7 +174,6 @@ void ram(int ibumpd, int ienm, int ix, int iy) { void torpedo(double course, double r, int inx, int iny, double *hit, int wait, int i, int n) { int l, iquad=0, ix=0, iy=0, jx=0, jy=0, shoved=0, ll; - int crx,cry; double ac=course + 0.25*r; double angle = (15.0-ac)*0.5235988; @@ -188,25 +185,25 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait, i if (fabs(deltay) > bigger) bigger = fabs(deltay); deltax /= bigger; deltay /= bigger; - crx=wherex(); - cry=wherey(); - if (game.damage[DSRSENS]==0 || condit==IHDOCKED) setwnd(LEFTUPPER_WINDOW); - else setwnd(LOWER_WINDOW); + if (game.damage[DSRSENS]==0 || condit==IHDOCKED) + setwnd(srscan_window); + else + setwnd(message_window); /* Loop to move a single torpedo */ for (l=1; l <= 15; l++) { x += deltax; ix = x + 0.5; - if (ix < 1 || ix > 10) break; + if (ix < 1 || ix > QUADSIZE) break; y += deltay; iy = y + 0.5; - if (iy < 1 || iy > 10) break; + if (iy < 1 || iy > QUADSIZE) break; iquad=game.quad[ix][iy]; tracktorpedo(x, y, ix, iy, wait, l, i, n, iquad); wait = 1; if (iquad==IHDOT) continue; /* hit something */ - setwnd(LOWER_WINDOW); - gotoxy(crx,cry); + setwnd(message_window); + skip(1); /* start new line after text track */ switch(iquad) { case IHE: /* Hit our ship */ case IHF: @@ -228,7 +225,7 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait, i yy = cos(ang)/temp; jx=ix+xx+0.5; jy=iy+yy+0.5; - if (jx<1 || jx>10 || jy<1 ||jy > 10) return; + if (jx<1 || jx>QUADSIZE || jy<1 ||jy > QUADSIZE) return; if (game.quad[jx][jy]==IHBLANK) { finish(FHOLE); return; @@ -276,7 +273,7 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait, i yy = cos(ang)/temp; jx=ix+xx+0.5; jy=iy+yy+0.5; - if (jx<1 || jx>10 || jy<1 ||jy > 10) { + if (jx<1 || jx>QUADSIZE || jy<1 ||jy > QUADSIZE) { prout(" damaged but not destroyed."); return; } @@ -309,7 +306,7 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait, i game.quad[ix][iy]=IHDOT; game.state.rembase--; basex=basey=0; - game.state.galaxy[quadx][quady] -= 10; + game.state.galaxy[quadx][quady] -= BASE_PLACE; game.state.basekl++; newcnd(); return; @@ -323,7 +320,7 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait, i plnetx = plnety = 0; game.quad[ix][iy] = IHDOT; if (landed==1) { - /* captain parishes on planet */ + /* captain perishes on planet */ finish(FDPLANET); } return; @@ -401,9 +398,8 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait, i } break; } - if(curwnd!=LOWER_WINDOW) { - setwnd(LOWER_WINDOW); - gotoxy(crx,cry); + if(curwnd!=message_window) { + setwnd(message_window); } if (shoved) { game.quad[jx][jy]=iquad; @@ -517,7 +513,7 @@ void attack(int k) { r += 0.002*game.kpower[l]*r; torpedo(course, r, jx, jy, &hit, 0, 1, 1); if (game.state.remkl==0) finish(FWON); /* Klingons did themselves in! */ - if (game.state.galaxy[quadx][quady] == 1000 || + if (game.state.galaxy[quadx][quady] == SUPERNOVA_PLACE || alldone) return; /* Supernova or finished */ if (hit == 0) continue; } @@ -606,7 +602,7 @@ void deadkl(int ix, int iy, int type, int ixx, int iyy) { /* Decide what kind of enemy it is and update approriately */ if (type == IHR) { /* chalk up a Romulan */ - game.state.newstuf[quadx][quady] -= 10; + game.state.newstuf[quadx][quady] -= ROMULAN_PLACE; irhere--; game.state.nromkl++; game.state.nromrem--; @@ -682,7 +678,7 @@ void deadkl(int ix, int iy, int type, int ixx, int iyy) { static int targetcheck(double x, double y, double *course) { double deltx, delty; /* Return TRUE if target is invalid */ - if (x < 1.0 || x > 10.0 || y < 1.0 || y > 10.0) { + if (x < 1.0 || x > QUADSIZE || y < 1.0 || y > QUADSIZE) { huh(); return 1; }