]> git.cworth.org Git - dvonn/blobdiff - dvonn-board.h
Implement automatic pass (when there is no legal move) and end-of-game
[dvonn] / dvonn-board.h
index 71923011e0ce07611de88a10454009e4d6f0137a..a150b2541f7fdc5fe9566fded72662d6bec196d0 100644 (file)
@@ -53,7 +53,8 @@ typedef struct {
 
 typedef enum {
     DVONN_PHASE_PLACEMENT,
-    DVONN_PHASE_MOVEMENT
+    DVONN_PHASE_MOVEMENT,
+    DVONN_PHASE_GAME_OVER
 } dvonn_phase_t;
 
 typedef struct {
@@ -61,6 +62,7 @@ typedef struct {
     dvonn_phase_t phase;
     dvonn_player_t player;
     int moves;
+    int score[2]; /* index by dvonn_player_t */
 } dvonn_board_t;
 
 /* Initialize a board for a new game of DVONN. */
@@ -88,12 +90,6 @@ dvonn_board_move (dvonn_board_t *board,
                int x2, int y2,
                char **error);
 
-/* Pass rather than moving, allowing the turn to pass to the
- * opponent. This should only be allowed if there are no legal moves,
- * but that is not yet enforced. Returns TRUE if the pass succeeds. */
-int
-dvonn_board_pass (dvonn_board_t *board);
-
 /* Is the cell at (x,y) occupied by a piece. Returns FALSE for all
  * out-of-bounds coordinates. */
 dvonn_bool_t