From 560016b243bc52f721153272a3809f6271215a25 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Fri, 21 Jan 2022 19:51:27 -0500 Subject: Expose print-board to allow Scheme to print the board normally --- src/board.c | 7 +++++++ src/move.c | 1 + 2 files changed, 8 insertions(+) (limited to 'src') 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); -- cgit v1.2.3