From 7783f04701c0e8dfdcb0b39374889eaed8df45d1 Mon Sep 17 00:00:00 2001 From: xolatile Date: Sun, 16 Jun 2024 05:41:47 -0400 Subject: [PATCH] Initial scripts and core... --- .gitignore | 1 + compile.sh | 7 +++++++ install.sh | 7 +++++++ xerbia.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 83 insertions(+) create mode 100644 .gitignore create mode 100644 compile.sh create mode 100644 install.sh create mode 100644 xerbia.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..87f146d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +xerbia diff --git a/compile.sh b/compile.sh new file mode 100644 index 0000000..fa0620b --- /dev/null +++ b/compile.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -xe + +gcc -ansi -Wall -Wextra -Wpedantic -Werror -Ofast -o xerbia xerbia.c + +exit diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..0fa60d8 --- /dev/null +++ b/install.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -xe + +cp xerbia /usr/bin/xerbia + +exit diff --git a/xerbia.c b/xerbia.c new file mode 100644 index 0000000..5c2e171 --- /dev/null +++ b/xerbia.c @@ -0,0 +1,68 @@ +#include + +static int wheat = 0; +static int gold = 0; +static int wood = 0; +static int stone = 0; + +static int granaries = 1; +static int mines = 1; +static int storehouses = 1; +static int quarries = 1; + +static char * king_list = "King Ognjen Milan Robovic"; + +static void print_if_no_resources (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); + } +} + +static void build_granary (void) { + if ((gold < 10) || (wood < 60) || (stone < 30)) { + echo ("> Your architects humbly refused to build the granary, complaining about lacking the resources for that.\n"); + + print_if_no_resources (gold, 10, "gold"); + print_if_no_resources (wood, 60, "wood"); + print_if_no_resources (stone, 30, "stone"); + } +} + +static void build_mine (void) { + if ((gold < 120) || (wood < 60) || (stone < 30)) { + echo ("> Your architects humbly refused to build the mine, complaining about lacking the resources for that.\n"); + + print_if_no_resources (gold, 120, "gold"); + print_if_no_resources (wood, 60, "wood"); + print_if_no_resources (stone, 30, "stone"); + } +} + +static void build_storehouse (void) { + if ((gold < 30) || (wood < 10) || (stone < 60)) { + echo ("> Your architects humbly refused to build the storehouse, complaining about lacking the resources for that.\n"); + + print_if_no_resources (gold, 30, "gold"); + print_if_no_resources (wood, 10, "wood"); + print_if_no_resources (stone, 60, "stone"); + } +} + +static void build_quarry (void) { + if ((gold < 60) || (wood < 30) || (stone < 10)) { + echo ("> Your architects humbly refused to build the quarry, complaining about lacking the resources for that.\n"); + + print_if_no_resources (gold, 60, "gold"); + print_if_no_resources (wood, 30, "wood"); + print_if_no_resources (stone, 10, "stone"); + } +} + +int main (void) { + build_granary (); + build_mine (); + build_storehouse (); + build_quarry (); + + return (log_success); +}