#include static int wheat = 600, gold = 600, wood = 600, stone = 600; static int granaries = 1, mines = 1, storehouses = 1, quarries = 1; static int check_resource (int have, int need, char * name) { if (have < need) { print ("You have only /3%i %s/- and you need /3%i/-, meaning that you miss /1%i/- more.\n", have, name, need, need - have); return (true); } return (false); } static void build_granary (void) { if (check_resource (gold, 10, "gold") || check_resource (wood, 60, "wood") || check_resource (stone, 30, "stone")) { print ("Your architects humbly refused to build the /1granary/-, complaining about lacking the resources for that.\n"); } else { gold -= 10; wood -= 60; stone -= 30; print ("/2Granary/- that you ordered to be built was finished without issues, now you have /2%i/- granaries.\n", ++granaries); } } static void build_mine (void) { if (check_resource (gold, 120, "gold") || check_resource (wood, 60, "wood") || check_resource (stone, 30, "stone")) { print ("Your architects humbly refused to build the /1mine/-, complaining about lacking the resources for that.\n"); } else { gold -= 120; wood -= 60; stone -= 30; print ("/2Mine/- that you ordered to be built was finished without issues, now you have /2%i/- mines.\n", ++mines); } } static void build_storehouse (void) { if (check_resource (gold, 30, "gold") || check_resource (wood, 10, "wood") || check_resource (stone, 60, "stone")) { print ("Your architects humbly refused to build the /1storehouse/-, complaining about lacking the resources for that.\n"); } else { gold -= 30; wood -= 10; stone -= 60; print ("/2Storehouse/- that you ordered to be built was finished without issues, now you have /2%i/- storehouses.\n", ++storehouses); } } static void build_quarry (void) { if (check_resource (gold, 60, "gold") || check_resource (wood, 30, "wood") || check_resource (stone, 10, "stone")) { print ("Your architects humbly refused to build the /1quarry/-, complaining about lacking the resources for that.\n"); } else { gold -= 60; wood -= 30; stone -= 10; print ("/2Quarry/- that you ordered to be built was finished without issues, now you have /2%i/- quarries.\n", ++quarries); } } static void print_resources (void) { print ("Wheat = %i\n", wheat); print ("Gold = %i\n", gold); print ("Wood = %i\n", wood); print ("Stone = %i\n", stone); } int main (void) { print_resources (); build_granary (); build_mine (); build_storehouse (); build_quarry (); print_resources (); return (log_success); }