budget: Use a loop to show build and maintenance

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2016-06-18 17:41:18 +02:00
parent 2eb08f40c7
commit cfdf52740b
2 changed files with 46 additions and 91 deletions

View file

@ -49,6 +49,19 @@ static char *dotsprintf(char *buf, char *format, int data);
int int
budg(void) budg(void)
{ {
static struct {
char *activity;
char *object;
} bm_name[] = {
{ "Ship building", "ship" },
{ "Ship maintenance", "ship" },
{ "Plane building", "plane" },
{ "Plane maintenance", "plane" },
{ "Unit building", "unit" },
{ "Unit maintenance", "unit" },
{ "Sector building", "sector" },
{ "Sector maintenance", "sector" }
};
int i; int i;
int taxes, Ncivs, Nuws, bars, Nbars; int taxes, Ncivs, Nuws, bars, Nbars;
struct budget *budget; struct budget *budget;
@ -81,75 +94,17 @@ budg(void)
expenses -= budget->prod[i].money; expenses -= budget->prod[i].money;
} }
if (budget->bm[BUDG_SHP_BUILD].money) { for (i = 0; i <= BUDG_BLD_MAX; i++) {
snprintf(buf, sizeof(buf), "%d ship%s", if (!budget->bm[i].money)
budget->bm[BUDG_SHP_BUILD].count, continue;
splur(budget->bm[BUDG_SHP_BUILD].count)); snprintf(buf, sizeof(buf), "%d %s%s",
pr("Ship building\t\t\t%-16s\t\t%8d\n", budget->bm[i].count, bm_name[i].object,
buf, -budget->bm[BUDG_SHP_BUILD].money); splur(budget->bm[i].count));
expenses -= budget->bm[BUDG_SHP_BUILD].money; pr("%-20s\t\t%-16s\t\t%8d\n",
bm_name[i].activity, buf, -budget->bm[i].money);
expenses -= budget->bm[i].money;
} }
if (budget->bm[BUDG_SHP_MAINT].money) {
snprintf(buf, sizeof(buf), "%d ship%s",
budget->bm[BUDG_SHP_MAINT].count,
splur(budget->bm[BUDG_SHP_MAINT].count));
pr("Ship maintenance\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_SHP_MAINT].money);
expenses -= budget->bm[BUDG_SHP_MAINT].money;
}
if (budget->bm[BUDG_PLN_BUILD].money) {
snprintf(buf, sizeof(buf), "%d plane%s",
budget->bm[BUDG_PLN_BUILD].count,
splur(budget->bm[BUDG_PLN_BUILD].count));
pr("Plane building\t\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_PLN_BUILD].money);
expenses -= budget->bm[BUDG_PLN_BUILD].money;
}
if (budget->bm[BUDG_PLN_MAINT].money) {
snprintf(buf, sizeof(buf), "%d plane%s",
budget->bm[BUDG_PLN_MAINT].count,
splur(budget->bm[BUDG_PLN_MAINT].count));
pr("Plane maintenance\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_PLN_MAINT].money);
expenses -= budget->bm[BUDG_PLN_MAINT].money;
}
if (budget->bm[BUDG_LND_BUILD].money) {
snprintf(buf, sizeof(buf), "%d unit%s",
budget->bm[BUDG_LND_BUILD].count,
splur(budget->bm[BUDG_LND_BUILD].count));
pr("Unit building\t\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_LND_BUILD].money);
expenses -= budget->bm[BUDG_LND_BUILD].money;
}
if (budget->bm[BUDG_LND_MAINT].money) {
snprintf(buf, sizeof(buf), "%d unit%s",
budget->bm[BUDG_LND_MAINT].count,
splur(budget->bm[BUDG_LND_MAINT].count));
pr("Unit maintenance\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_LND_MAINT].money);
expenses -= budget->bm[BUDG_LND_MAINT].money;
}
if (budget->bm[BUDG_SCT_BUILD].money) {
snprintf(buf, sizeof(buf), "%d sector%s",
budget->bm[BUDG_SCT_BUILD].count,
splur(budget->bm[BUDG_SCT_BUILD].count));
pr("Sector building\t\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_SCT_BUILD].money);
expenses -= budget->bm[BUDG_SCT_BUILD].money;
}
if (budget->bm[BUDG_SCT_MAINT].count) {
snprintf(buf, sizeof(buf), "%d sector%s",
budget->bm[BUDG_SCT_MAINT].count,
splur(budget->bm[BUDG_SCT_MAINT].count));
pr("Sector maintenance\t\t%-16s\t\t%8d\n",
buf, -budget->bm[BUDG_SCT_MAINT].money);
expenses -= budget->bm[BUDG_SCT_MAINT].money;
}
if (budget->mil.money) { if (budget->mil.money) {
snprintf(buf, sizeof(buf), "%d mil, %d res", snprintf(buf, sizeof(buf), "%d mil, %d res",
budget->mil.count, np->nat_reserve); budget->mil.count, np->nat_reserve);