]> git.pond.sub.org Git - empserver/commitdiff
budget: Use a loop to show build and maintenance
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 18 Jun 2016 15:41:18 +0000 (17:41 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 6 Aug 2017 18:00:00 +0000 (20:00 +0200)
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
src/lib/commands/budg.c
tests/update/journal.log

index bd993392ec6f3fd6e32b8cb56cf70ad79aed9c63..b6d7ee8caf5411de274561c818137c5454d83db0 100644 (file)
@@ -49,6 +49,19 @@ static char *dotsprintf(char *buf, char *format, int data);
 int
 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 taxes, Ncivs, Nuws, bars, Nbars;
     struct budget *budget;
@@ -81,75 +94,17 @@ budg(void)
        expenses -= budget->prod[i].money;
     }
 
-    if (budget->bm[BUDG_SHP_BUILD].money) {
-       snprintf(buf, sizeof(buf), "%d ship%s",
-                budget->bm[BUDG_SHP_BUILD].count,
-                splur(budget->bm[BUDG_SHP_BUILD].count));
-       pr("Ship building\t\t\t%-16s\t\t%8d\n",
-          buf, -budget->bm[BUDG_SHP_BUILD].money);
-       expenses -= budget->bm[BUDG_SHP_BUILD].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;
+    for (i = 0; i <= BUDG_BLD_MAX; i++) {
+       if (!budget->bm[i].money)
+           continue;
+       snprintf(buf, sizeof(buf), "%d %s%s",
+                budget->bm[i].count, bm_name[i].object,
+                splur(budget->bm[i].count));
+       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_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) {
        snprintf(buf, sizeof(buf), "%d mil, %d res",
                 budget->mil.count, np->nat_reserve);
index 68c2a063e96aefc596a95b5bc79c7c1597e479b2..c8a5fac0a08a33022946d9d6cc36e1c24427122c 100644 (file)
     Play#1 output Play#1 1 bank                        41 bars                              410
     Play#1 output Play#1 1 refinery                    2581 petrol                          290
     Play#1 output Play#1 1 enlistment center           75 mil                               225
-    Play#1 output Play#1 1 Ship building                       10 ships                            1519
-    Play#1 output Play#1 1 Ship maintenance            32 ships                            2202
-    Play#1 output Play#1 1 Plane building                      13 planes                           1924
-    Play#1 output Play#1 1 Plane maintenance           20 planes                            984
-    Play#1 output Play#1 1 Unit building                       6 units                             2300
-    Play#1 output Play#1 1 Unit maintenance            16 units                             510
-    Play#1 output Play#1 1 Sector building                     40 sectors                           774
-    Play#1 output Play#1 1 Sector maintenance          2 sectors                            120
+    Play#1 output Play#1 1 Ship building                       10 ships                            1519
+    Play#1 output Play#1 1 Ship maintenance                    32 ships                            2202
+    Play#1 output Play#1 1 Plane building                      13 planes                           1924
+    Play#1 output Play#1 1 Plane maintenance                   20 planes                            984
+    Play#1 output Play#1 1 Unit building                       6 units                             2300
+    Play#1 output Play#1 1 Unit maintenance                    16 units                             510
+    Play#1 output Play#1 1 Sector building                     40 sectors                           774
+    Play#1 output Play#1 1 Sector maintenance                  2 sectors                            120
     Play#1 output Play#1 1 Military payroll            1164 mil, 0 res                     5777
     Play#1 output Play#1 1 Total expenses.....................................................24627
     Play#1 output Play#1 1 Income from taxes           26911 civs, 9007 uws              +12625
     Play#2 command budget
     Play#2 output Play#2 1 Sector Type                 Production                          Cost
     Play#2 output Play#2 1 technical center            1 tech                               300
-    Play#2 output Play#2 1 Ship building                       2 ships                              450
-    Play#2 output Play#2 1 Ship maintenance            3 ships                               90
-    Play#2 output Play#2 1 Plane building                      1 plane                              360
-    Play#2 output Play#2 1 Plane maintenance           3 planes                             144
-    Play#2 output Play#2 1 Unit building                       1 unit                               450
-    Play#2 output Play#2 1 Unit maintenance            3 units                               90
-    Play#2 output Play#2 1 Sector building                     26 sectors                           209
-    Play#2 output Play#2 1 Sector maintenance          5 sectors                            300
+    Play#2 output Play#2 1 Ship building                       2 ships                              450
+    Play#2 output Play#2 1 Ship maintenance                    3 ships                               90
+    Play#2 output Play#2 1 Plane building                      1 plane                              360
+    Play#2 output Play#2 1 Plane maintenance                   3 planes                             144
+    Play#2 output Play#2 1 Unit building                       1 unit                               450
+    Play#2 output Play#2 1 Unit maintenance                    3 units                               90
+    Play#2 output Play#2 1 Sector building                     26 sectors                           209
+    Play#2 output Play#2 1 Sector maintenance                  5 sectors                            300
     Play#2 output Play#2 1 Military payroll            1900 mil, 1000 res                  9994
     Play#2 output Play#2 1 Total expenses.....................................................12387
     Play#2 output Play#2 1 Income from taxes           6800 civs, 4000 uws                +1076
     Play#4 command budget
     Play#4 output Play#4 1 Sector Type                 Production                          Cost
     Play#4 output Play#4 1 bank                        4 bars                                40
-    Play#4 output Play#4 1 Ship maintenance            10 ships                             300
-    Play#4 output Play#4 1 Unit maintenance            10 units                             600
+    Play#4 output Play#4 1 Ship maintenance                    10 ships                             300
+    Play#4 output Play#4 1 Unit maintenance                    10 units                             600
     Play#4 output Play#4 1 Military payroll            1111 mil, 0 res                     5552
     Play#4 output Play#4 1 Total expenses......................................................6492
     Play#4 output Play#4 1 Income from taxes           23604 civs, 4100 uws                +212
     Play#6 input budget
     Play#6 command budget
     Play#6 output Play#6 1 Sector Type                 Production                          Cost
-    Play#6 output Play#6 1 Ship maintenance            1 ship                               540
-    Play#6 output Play#6 1 Plane maintenance           3 planes                             144
-    Play#6 output Play#6 1 Unit maintenance            3 units                               90
-    Play#6 output Play#6 1 Sector maintenance          1 sector                              60
+    Play#6 output Play#6 1 Ship maintenance                    1 ship                               540
+    Play#6 output Play#6 1 Plane maintenance                   3 planes                             144
+    Play#6 output Play#6 1 Unit maintenance                    3 units                               90
+    Play#6 output Play#6 1 Sector maintenance                  1 sector                              60
     Play#6 output Play#6 1 Military payroll            168 mil, 0 res                       831
     Play#6 output Play#6 1 Total expenses......................................................1665
     Play#6 output Play#6 1 Income from taxes           4000 civs, 0 uws                   +1750
     Play#7 input budget
     Play#7 command budget
     Play#7 output Play#7 1 Sector Type                 Production                          Cost
-    Play#7 output Play#7 1 Ship maintenance            3 ships                               70
-    Play#7 output Play#7 1 Sector maintenance          1 sector                              60
+    Play#7 output Play#7 1 Ship maintenance                    3 ships                               70
+    Play#7 output Play#7 1 Sector maintenance                  1 sector                              60
     Play#7 output Play#7 1 Military payroll            160 mil, 0 res                       792
     Play#7 output Play#7 1 Total expenses.......................................................922
     Play#7 output Play#7 1 Income from taxes           4000 civs, 0 uws                   +1750