aboutsummaryrefslogtreecommitdiff
path: root/plugins/score
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/score')
-rw-r--r--plugins/score/Makefile4
-rw-r--r--plugins/score/dependencies.txt1
-rw-r--r--plugins/score/score.c26
-rw-r--r--plugins/score/score.h7
4 files changed, 38 insertions, 0 deletions
diff --git a/plugins/score/Makefile b/plugins/score/Makefile
new file mode 100644
index 0000000..33400e5
--- /dev/null
+++ b/plugins/score/Makefile
@@ -0,0 +1,4 @@
+plugins/score/score.so: plugins/score/score.c plugins/score/score.h plugins/game/game.h
+ cc -g -shared -fpic -o plugins/score/score.so plugins/score/score.c
+
+PLUGINS := ${PLUGINS} plugins/score/score.so
diff --git a/plugins/score/dependencies.txt b/plugins/score/dependencies.txt
new file mode 100644
index 0000000..dc22e61
--- /dev/null
+++ b/plugins/score/dependencies.txt
@@ -0,0 +1 @@
+game
diff --git a/plugins/score/score.c b/plugins/score/score.c
new file mode 100644
index 0000000..7ad8b66
--- /dev/null
+++ b/plugins/score/score.c
@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include "../game/game.h"
+
+static int score = 0;
+
+void add_score(int s)
+{
+ score += s;
+}
+
+int get_score()
+{
+ return score;
+}
+
+static void render_score(struct winsize ws)
+{
+ (void) ws;
+
+ printf("\e[32m\e[3mScore:\e[23m %d", score);
+}
+
+__attribute__ ((constructor)) static void init()
+{
+ register_render_component(&render_score);
+}
diff --git a/plugins/score/score.h b/plugins/score/score.h
new file mode 100644
index 0000000..8ee531a
--- /dev/null
+++ b/plugins/score/score.h
@@ -0,0 +1,7 @@
+#ifndef _SCORE_H_
+#define _SCORE_H_
+
+void add_score(int s);
+int get_score();
+
+#endif