summaryrefslogtreecommitdiffstats
path: root/src/libbbs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libbbs')
-rw-r--r--src/libbbs/Makefile20
-rw-r--r--src/libbbs/log.c0
-rw-r--r--src/libbbs/money.c37
-rw-r--r--src/libbbs/string.c1
4 files changed, 58 insertions, 0 deletions
diff --git a/src/libbbs/Makefile b/src/libbbs/Makefile
new file mode 100644
index 00000000..efbf9534
--- /dev/null
+++ b/src/libbbs/Makefile
@@ -0,0 +1,20 @@
+
+SRCROOT= ../..
+.include "$(SRCROOT)/pttbbs.mk"
+
+CFLAGS+= -I$(SRCROOT)/include
+
+OBJS= log.o string.o money.o
+TARGET= libbbs.a
+
+
+.SUFFIXES: .c .o
+.c.o:
+ $(CCACHE) $(DIETCC) $(CC) $(CFLAGS) -c $*.c
+
+$(TARGET): $(OBJS)
+ $(AR) cru $@ $(OBJS)
+ ranlib $@
+
+clean:
+ rm -f $(OBJS) $(TARGET)
diff --git a/src/libbbs/log.c b/src/libbbs/log.c
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/libbbs/log.c
diff --git a/src/libbbs/money.c b/src/libbbs/money.c
new file mode 100644
index 00000000..a6d54127
--- /dev/null
+++ b/src/libbbs/money.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+
+#include <libbbs.h>
+
+/* 計算贈與稅 */
+int
+give_tax(int money)
+{
+ int i, tax = 0;
+ int tax_bound[] = {1000000, 100000, 10000, 1000, 0};
+ double tax_rate[] = {0.4, 0.3, 0.2, 0.1, 0.08};
+ for (i = 0; i <= 4; i++)
+ if (money > tax_bound[i]) {
+ tax += (money - tax_bound[i]) * tax_rate[i];
+ money -= (money - tax_bound[i]);
+ }
+ return (tax <= 0) ? 1 : tax;
+}
+
+const char*
+money_level(int money)
+{
+ int i = 0;
+
+ static const char *money_msg[] =
+ {
+ "債台高築", "赤貧", "清寒", "普通", "小康",
+ "小富", "中富", "大富翁", "富可敵國", "比爾蓋\天", NULL
+ };
+ while (money_msg[i] && money > 10)
+ i++, money /= 10;
+
+ if(!money_msg[i])
+ i--;
+ return money_msg[i];
+}
+
diff --git a/src/libbbs/string.c b/src/libbbs/string.c
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/src/libbbs/string.c
@@ -0,0 +1 @@
+