Age | Commit message (Collapse) | Author |
|
This could be useful to create a machine learning AI, which uses the
final board for training.
Also bubble up the final score and present it at the end of the game.
|
|
* Moved board specific functions from othello.h to new othello_board.h
* Removed unused function pointer for player moves
* Added prototypes in headers for SCM functions, including
scm_get_current_player,
* Made get_winner accept a board and current player. This is useful for
predictions to see if some move would make the other player a winner.
* get_winner also writes the players scores to provided pointers.
|
|
* free_board should not return anything.
* is_valid_move and has_valid_moves accept a board.
* Implemented primitives for Scheme strategies to get the current
player, and to get the board, and the validity of a move.
* Removed game logic from is_valid_move. Instead simply apply the move
to a temp board, and see if the move worked.
* Created a very simple strategy for testing these primitives. It only
hardcodes the first move, and then fails since that move is no longer
valid.
|
|
Also was able to print the current board from scheme, so we should be
able to do basic analysis at least. Should add more primitives for use
from scheme.
|
|
Also fixed a bug where we could have gone off the upper bounds of the
board.
|
|
We will use this to load the strategy file for an AI player.
|
|
Instead use the get_board() function to get a reference to the board.
|
|
We will use these values eventually.
|
|
We are not aiming for high portability with this program. Anywhere that
Guile is available, we should be able to access _GNU_SOURCE extensions.
|
|
|
|
|
|
The player_color type already is set to char, but this is a bit clearer
as to what the actual return values are
|
|
|
|
|