#include #include #include typedef struct { char name[20]; double p; // population double h; // health double e; // education double r; // populatrity double c; // crime double n; // pollution double b1; // arco bonus double b2; // military bonus double t; // terrain multiplier } TypePerson; #define PLAYERS 4 // p h e r c n b1 b2 t TypePerson person[ PLAYERS ] = { //{ "Pat" , 529683, 92, 61, 56, 27, 23, 200, 100, 3 }, //{ "Sandy", 206700, 76, 111, 63, 27, 17, 200, 100, 3 }, //{ "Joe", 19690, 63, 75, 72, 21, 19, 0, 0, 10 }, //{ "Paul", 4020, 70, 103, 90, 18, 12, 0, 0, 5 }, { "Pat" , 261000, 92, 61, 56, 27, 23, 200, 100, 3 }, { "Sandy", 94000, 76, 111, 63, 27, 17, 200, 100, 3 }, { "Joe", 9050, 63, 75, 72, 21, 19, 0, 0, 10 }, { "Paul", 2010, 70, 103, 90, 18, 12, 0, 0, 5 }, }; double random( long ); void main() { int player; double p, h, e, r, c, n, b1, b2; double sp, sh, se, sr, sc, sn; double bonus; double terrain; double good; double bad; double score1, score2, score3; srand( (unsigned)time( NULL ) ); printf( " p h e r c n b1 b2 t s\n" ); for ( player = 0; player < PLAYERS; player++ ) { p = person[player].p; h = person[player].h; e = person[player].e; r = person[player].r; c = person[player].c; n = person[player].n; b1 = person[player].b1; b2 = person[player].b2; terrain = person[player].t; // p = random( 300000 ); // h = random( 40 ) + 80; // e = random( 60 ) + 60; // r = random( 50 ) + 50; // c = random( 50 ); // n = random( 50 ); // b1 = random( 2 ); // b2 = random( 2 ); // terrain = (unsigned int) random( 3 ); // if ( b1 == 1.0 ) b1 = 200; // if ( b2 == 1.0 ) b2 = 100; // if ( terrain == 1.0 ) terrain = 3; // else if ( terrain == 2.0 ) terrain = 5; // else terrain = 10; sp = p / 20000; sh = h / 25; se = e / 25; sr = r / 20; sc = c / 10; sn = n / 10; bonus = b1 + b2; good = ( sp * sh ) + se + sr; bad = ( sc + sn ); score1 = ( good - bad + bonus ) * terrain; score2 = ((((p/20000*(h/25))+((e/25)+(r/25))-((c/10)+(n/10))+b1+b2)))*terrain; score3 = ((p/20000) * ((h/25) + (e/25) + (r/20 -(c/10) - (n/10) ))) * terrain + b1 + b2; printf( "%d %10s %10.0f %3.0f %3.0f %3.0f %3.0f %3.0f %3.0f %3.0f %3.0f %7.2f\n", (player+1), person[player].name, p, h, e, r, c, n, b1, b2, terrain, score1 ); } } double random( long n ) { int r; double m; double f; long g; srand( (unsigned) rand() ); r = rand(); m = RAND_MAX; f = (double) r / m; f = f * n; g = (long) f; f = (double) g; return( (double) f ); }