X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/68f635b7989f06a503504339172b066ab2d570ab..0f4556f12c8f75078501c9d1338ae7648a97f975:/usr/src/games/sail/game.c diff --git a/usr/src/games/sail/game.c b/usr/src/games/sail/game.c index e8de60beb4..249e7f34d6 100644 --- a/usr/src/games/sail/game.c +++ b/usr/src/games/sail/game.c @@ -1,54 +1,54 @@ #ifndef lint -static char *sccsid = "@(#)game.c 1.4 83/07/20"; +static char *sccsid = "@(#)game.c 1.3 83/05/20"; #endif #include "externs.h" -maxturns(ship) -register struct ship *ship; +maxturns(shipnum) +int shipnum; { register int turns; + struct File *ptr; - turns = ship->specs->ta; - if (ship->file->drift > 1 && turns) { + turns = specs[scene[game].ship[shipnum].shipnum].ta; + if ((ptr = scene[game].ship[shipnum].file) -> drift > 1 && turns){ turns--; - if (ship->file->FS == 1) + if(ptr -> FS == 1) turns = 0; turns |= 0100000; } - return turns; + return(turns); } -maxmove(ship, dir, fs) -register struct ship *ship; -int dir, fs; +maxmove(shipnum, dir, fs) +int shipnum, dir, fs; { - register int riggone = 0, Move, flank = 0; + register int riggone = 0, Move, full, flank = 0; + struct shipspecs *ptr; - Move = ship->specs->bs; - if (!ship->specs->rig1) - riggone++; - if (!ship->specs->rig2) - riggone++; - if (!ship->specs->rig3) - riggone++; - if (!ship->specs->rig4) - riggone++; - if ((ship->file->FS || fs) && fs != -1) { + full = scene[game].ship[shipnum].file -> FS; + ptr = &specs[scene[game].ship[shipnum].shipnum]; + Move = ptr -> bs; + if (!ptr -> rig1) riggone++; + if (!ptr -> rig2) riggone++; + if (!ptr -> rig3) riggone++; + if (!ptr -> rig4) riggone++; + if ((full || fs) && fs != -1){ flank = 1; - Move = ship->specs->fs; + Move = ptr -> fs; } if (dir == winddir) - Move -= 1 + WET[windspeed][ship->specs->class-1].B; + Move -= 1 + WET[windspeed][ptr -> class-1].B; else if (dir == winddir + 2 || dir == winddir - 2 || dir == winddir - 6 || dir == winddir + 6) - Move -= 1 + WET[windspeed][ship->specs->class-1].C; + Move -= 1 + WET[windspeed][ptr -> class-1].C; else if (dir == winddir + 3 || dir == winddir - 3 || dir == winddir - 5 || dir == winddir + 5) - Move = (flank ? 2 : 1) - WET[windspeed][ship->specs->class-1].D; + Move = (flank ? 2 : 1) - WET[windspeed][ptr -> class-1].D; else if (dir == winddir + 4 || dir == winddir - 4) Move = 0; else - Move -= WET[windspeed][ship->specs->class-1].A; + Move -= WET[windspeed][ptr -> class-1].A; Move -= riggone; Move = Move < 0 ? 0 : Move; return(Move); } +