diff options
Diffstat (limited to 'war.c')
-rw-r--r-- | war.c | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -0,0 +1,32 @@ +#include "7w.h" + +int data_getdir(int dir, int p); +void data_adddefeat(int p); +void data_addvictory(int p); +int data_numplayers(); +int* data_getbuilt(int p); +int data_haswonderstage(int p, int wonder, int stage); +int* cards_getproduction(int era, int card); + +int military_might(int player) +{ + int *built = data_getbuilt(player); + int i, sum; + sum = 0; + for(i = 0; built[i] != -1; i += 2) + sum += cards_getproduction(built[i], built[i+1])[SHIELD]; + return sum; +} + +void war() +{ + int numplayers = data_numplayers(); + int player, j; + for(player = 0; player < numplayers; player++) + for(j = 0; j < 2; j++) { + if(military_might(player) > military_might(data_getdir(j, player))) + data_addvictory(player); + else if(military_might(player) != military_might(data_getdir(j, player))) + data_adddefeat(player); + } +} |