|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T b
Length: 1439 (0x59f) Types: TextFile Names: »bpv.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Trek73/src/bpv.c«
#ident "@(#) TREK73 $Header: bpv.c,v 1.2 87/10/09 15:48:35 okamoto Exp $" /* * $Source: /ccc/okamoto/src/trek/src/RCS/bpv.c,v $ * * $Header: bpv.c,v 1.2 87/10/09 15:48:35 okamoto Exp $ * * $Log: bpv.c,v $ * Revision 1.2 87/10/09 15:48:35 15:48:35 okamoto (Jeff Okamoto) * Added declaration of round as a function returning a double. * * Revision 1.1 87/10/09 11:00:29 11:00:29 okamoto (Jeff Okamoto) * Initial revision * */ /* * TREK73: bpv.c * * Calculate the Basic Point Value of a ships * */ void calculate(regen, pods, p_div, t_div, weapons, crew, bpv, eff, turn, max) double regen; /* Regeneration */ float pods; /* Number of antimatter pods */ float p_div; /* Shield divisor for phasers */ float t_div; /* Shield divisor for torps */ int weapons; /* Number of weapons */ int crew; /* Number of crew */ double *bpv; /* Return for BPV */ double *eff; /* Return for efficiency */ int *turn; /* Turn per segment */ int *max; /* Maximum speed */ { double floor(), round(); *bpv = 0.; *bpv += regen * 12; *bpv += pods / 2; *bpv += p_div * 30; *bpv += t_div * 40; *bpv += weapons * 10; *bpv += crew / 15; *eff = round(4 * (0.0034 * *bpv - 0.78)) / 4.0; if (*eff< 0.25) *eff= 0.25; *turn = (int) (10 - floor(*bpv / 100.0)); if (*turn < 1) *turn = 1; *max= (int) round(-0.004 * *bpv + 11.0); if (*max < 1) *max = 1; } double round(x) double x; { double floor(); return(floor(x + 0.5)); }