]> git.cworth.org Git - ttt/blobdiff - src/ttt-board.h
Implemented current_player into board and O's into board_make_move
[ttt] / src / ttt-board.h
index dd2b6eb14681ffff1f055eb1da94171e230f67ef..c75c168960f9ebac1e49dfc3f5c0863b82af0cf6 100644 (file)
 #ifndef _TTT_BOARD_H_
 #define _TTT_BOARD_H_
 
+#include "ttt.h"
+#include "ttt-error.h"
+
+#define TTT_BOARD_MAX_CELLS 9
+
+typedef enum {
+    TTT_CELL_EMPTY = '_',
+    TTT_CELL_X     = 'X',
+    TTT_CELL_O     = 'O'
+} ttt_cell_t;
+
 typedef struct _ttt_board {
-    /* XXX: Fill this out with appropriate fields. */
+    ttt_cell_t cells[TTT_BOARD_MAX_CELLS];
+    ttt_cell_t current_player;
 } ttt_board_t;
 
+void
+ttt_board_init (ttt_board_t *board);
+
+void
+ttt_board_init_from_string (ttt_board_t *board,
+                           const char  *s);
+
+char *
+ttt_board_to_string (ttt_board_t *board);
+
+void
+ttt_board_write (ttt_board_t *board, FILE *file);
+
+ttt_error_t
+ttt_board_make_move (ttt_board_t *board, int move);
+
 #endif
 
+