X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fttt-board.h;h=c75c168960f9ebac1e49dfc3f5c0863b82af0cf6;hb=b90882d3a092c28bdedf84271f1eca8b1744577c;hp=dd2b6eb14681ffff1f055eb1da94171e230f67ef;hpb=cce891bb05118330ca609ac989491ad8a2fa7f71;p=ttt diff --git a/src/ttt-board.h b/src/ttt-board.h index dd2b6eb..c75c168 100644 --- a/src/ttt-board.h +++ b/src/ttt-board.h @@ -22,9 +22,38 @@ #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 +