summaryrefslogtreecommitdiff
path: root/battle.c
diff options
context:
space:
mode:
Diffstat (limited to 'battle.c')
-rw-r--r--battle.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/battle.c b/battle.c
new file mode 100644
index 0000000..4ee01df
--- /dev/null
+++ b/battle.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <string.h>
+
+#define __GPROLOG_FOREIGN_STRICT__
+#include "gprolog.h"
+
+int pay(char a, char b)
+{
+ int payment = -1;
+ PlTerm arg[3];
+
+ int func = Pl_Find_Atom("pay");
+
+ Pl_Query_Begin(PL_TRUE);
+
+ arg[0] = Pl_Mk_Char(a);
+ arg[1] = Pl_Mk_Char(b);
+ arg[2] = Pl_Mk_Variable();
+
+ if (Pl_Query_Call(func, 3, arg)) {
+ payment = Pl_Rd_Integer(arg[2]);
+ }
+ Pl_Query_End(PL_RECOVER);
+
+ return payment;
+}
+
+int
+main(int argc, char *argv[])
+{
+ Pl_Start_Prolog(argc, argv);
+
+ printf("pay: %d\n", pay('d', 'c'));
+
+ Pl_Stop_Prolog();
+ return 0;
+}