summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2022-01-21 19:51:27 -0500
committerRobby Zambito <contact@robbyzambito.me>2022-01-21 19:51:27 -0500
commit560016b243bc52f721153272a3809f6271215a25 (patch)
tree9d6b2873e30391917958d870dc84a0c99967ac45 /src
parente75be9264d86d2059ce6591295af246da2198301 (diff)
Expose print-board to allow Scheme to print the board normally
Diffstat (limited to 'src')
-rw-r--r--src/board.c7
-rw-r--r--src/move.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/board.c b/src/board.c
index aec166a..b40d1e3 100644
--- a/src/board.c
+++ b/src/board.c
@@ -168,3 +168,10 @@ void print_board(enum player_color **board) {
printf("\n");
}
}
+
+void scm_print_board(SCM scm_board) {
+ enum player_color **board =
+ SCM_UNBNDP(scm_board) ? get_board() : scm_board_to_c_board(scm_board);
+
+ print_board(board);
+}
diff --git a/src/move.c b/src/move.c
index 10f9012..1c6672c 100644
--- a/src/move.c
+++ b/src/move.c
@@ -286,6 +286,7 @@ struct move get_scm_move(char *strategy_path) {
scm_c_define_gsubr("apply-move", 1, 2, 0, scm_apply_move);
scm_c_define_gsubr("get-winner", 2, 0, 0, scm_get_winner);
scm_c_define_gsubr("flipped-by-move", 1, 2, 0, scm_get_num_flipped_by_move);
+ scm_c_define_gsubr("print-board", 0, 1, 0, scm_print_board);
// Read the move from scheme
SCM scm_move = scm_c_primitive_load(strategy_path);