summaryrefslogtreecommitdiff
path: root/include/othello_move.h
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2021-12-30 00:02:22 -0500
committerRobby Zambito <contact@robbyzambito.me>2021-12-30 00:02:22 -0500
commit6a35a3cffd976f6fa9d96759e2f2bb0f784b92ac (patch)
tree8c1f87ff19ab3cdb35a3450942846e1b1c736aa6 /include/othello_move.h
parentb74a45d66405d59ea3f2891a10ee2c62f12134d9 (diff)
Pulled lots of things out of game loop
Diffstat (limited to 'include/othello_move.h')
-rw-r--r--include/othello_move.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/othello_move.h b/include/othello_move.h
new file mode 100644
index 0000000..0bab641
--- /dev/null
+++ b/include/othello_move.h
@@ -0,0 +1,37 @@
+/* This file is a part of othello-ai-guile-c
+ *
+ * Copyright (C) 2021 Robby Zambito
+ *
+ * othello-ai-guile-c is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * othello-ai-guile-c is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#define _GNU_SOURCE
+
+#pragma once
+
+#include "othello.h"
+
+struct move prompt_get_move(enum player_color current_player);
+
+// True if move is valid for current_player.
+// Otherwise false.
+bool is_valid_move(const enum player_color current_player,
+ const struct move move);
+
+// True if current_player has any valid moves.
+// Otherwise false.
+bool has_valid_moves(const enum player_color current_player);
+
+/* Returns true if the move was valid */
+bool apply_move(enum player_color current_player, struct move move);