#include "go.h"
char *COLOR_NAME = {"+@o=\0"};
/* 左上から時計廻り
d = 0: upperleft, d = 1: upper, d = 2: upplerright, d = 3: left,
d = 4: right, d = 5: lowerleft, d = 6: lower, d = 7: lowerright,
*/
int D2DELTA[D_MAX] = { -BB_EDGE - 1, -BB_EDGE, -BB_EDGE + 1, +1, +BB_EDGE + 1, +BB_EDGE, +BB_EDGE - 1, -1 };
parameter_t *cnn_param;
void set_initial_pos(goban_t *ban)
{
int x, y, pos;
memset (ban, 0, sizeof(goban_t));
ban->tesuu = 1;
ban->tbn = TBN_BK;
for (pos = 0; pos < XY_SIZE; pos++){
x = POS_TO_X(pos);
y = POS_TO_Y(pos);
if (!(IN_RANGE(1, x, BOARD_EDGE_SIZE) && IN_RANGE(1, y, BOARD_EDGE_SIZE))){
ban->color[pos] = OB;
}
}
return;
}
game_hdl_t *open_game_hdl(int argc, char **argv)
{
game_hdl_t *hdl;
if ((hdl = calloc(1, sizeof(game_hdl_t))) == NULL ||
(hdl->ban = calloc(1, sizeof(goban_t))) == NULL ||
(cnn_param = calloc(1, sizeof(parameter_t))) == NULL){
return NULL;
}
set_initial_pos(hdl->ban);
return hdl;
}
void close_game_hdl(game_hdl_t *hdl)
{
free(hdl->ban);
free(hdl);
return;
}