25 va_start(args, format);
26 vprintf(format, args);
28 putchar(
'\n'); fflush(stdout);
32 va_start(args, format);
43 fprintf(stderr,
"Error: ");
44 va_start(args, format);
45 vfprintf(stderr, format, args);
47 putc(
'\n', stderr); fflush(stderr);
51 va_start(args, format);
115 char *cmd = NULL, *param = NULL;
131 }
else if (strcmp(cmd,
"nboard") == 0) {
132 if (strcmp(param,
"1") != 0)
nboard_fail(
"Edax expected \"nboard 1\" protocol");
134 }
else if (strcmp(cmd,
"depth") == 0) {
138 }
else if (strcmp(cmd,
"game") == 0) {
147 }
else if (strcmp(cmd,
"move") == 0) {
151 }
else if (strcmp(cmd,
"hint") == 0) {
157 }
else if (strcmp(cmd,
"go") == 0) {
163 }
else if (strcmp(cmd,
"quit") == 0 || strcmp(cmd,
"eof") == 0) {
164 free(cmd); free(param);
167 }
else if (strcmp(cmd,
"ping") == 0) {
170 }
else if (strcmp(cmd,
"learn") == 0) {
179 nboard_fail(
"unknown command \"%s\" \"%s\"", cmd, param);
void book_free(Book *book)
Free resources used by the opening book.
Definition book.c:1422
void book_save(Book *book, const char *file)
Save an opening book.
Definition book.c:1622
void book_load(Book *book, const char *file)
Load the opening book.
Definition book.c:1471
@ WHITE
Definition const.h:43
#define MAX_MOVE
Definition const.h:18
char * parse_ggf(Game *game, const char *string)
Parse a ggf game from a string.
Definition game.c:664
bool game_get_board(const Game *game, const int ply, Board *board)
Get the board after 'ply' move.
Definition game.c:195
char * move_to_string(const int x, const int player, char *s)
Print out a move.
Definition move.c:76
static void nboard_observer(Result *result)
Definition nboard.c:66
void ui_loop_nboard(UI *ui)
Loop event.
Definition nboard.c:113
static void nboard_send(const char *format,...)
Definition nboard.c:21
static void nboard_send_move(Result *result)
Definition nboard.c:58
static Log nboard_log[1]
Definition nboard.c:19
static void nboard_fail(const char *format,...)
Definition nboard.c:39
void ui_init_nboard(UI *ui)
initialize edax protocol
Definition nboard.c:80
void ui_free_nboard(UI *ui)
free resources used by edax protocol
Definition nboard.c:101
Options options
Definition options.c:22
void play_store(Play *play)
store the game into the opening book
Definition play.c:1175
void play_print(Play *play, FILE *f)
Print the game state.
Definition play.c:1225
void play_hint(Play *play, int n)
Start thinking.
Definition play.c:365
void play_new(Play *play)
Start a new game.
Definition play.c:62
void play_init(Play *play, Book *book)
Initialization.
Definition play.c:27
bool play_user_move(Play *play, const char *string)
Play a user move.
Definition play.c:909
void play_go(Play *play, const bool update)
Start thinking.
Definition play.c:214
void play_free(Play *play)
Free resources.
Definition play.c:52
Edax play control - header file.
void result_print(Result *result, FILE *f)
Print the current search result.
Definition search.c:1106
void search_set_observer(Search *search, void(*observer)(Result *))
set observer.
Definition search.c:1095
bool need_saving
Definition book.h:47
Search * search
Definition book.h:49
LogFile.
Definition util.h:423
FILE * f
Definition util.h:424
int level
Definition options.h:40
char * ui_log_file
Definition options.h:78
char * book_file
Definition options.h:59
Result result[1]
Definition play.h:29
Board initial_board[1]
Definition play.h:27
Search search[1]
Definition play.h:28
int type
Definition play.h:31
int move
Definition search.h:44
unsigned long long n_nodes
Definition search.h:49
int score
Definition search.h:45
long long time
Definition search.h:48
const char * separator
Definition search.h:145
const char * header
Definition search.h:144
int id
Definition search.h:101
struct Search::@25 options
int type
Definition ui.h:36
Play play[2]
Definition ui.h:32
Book book[1]
Definition ui.h:33
int mode
Definition ui.h:37
void ui_event_wait(UI *ui, char **cmd, char **param)
Wait input.
Definition ui.c:147
int string_to_int(const char *s, const int default_value)
Convert a string into an integer.
Definition util.c:457
Miscellaneous utilities header.
#define log_close(l)
Close an opened log file.
Definition util.h:435
#define log_print(l,...)
Print into the log file.
Definition util.h:442
#define log_open(l, file)
open a log file if allowed.
Definition util.h:429
#define log_is_open(l)
Check if the log stream can be used.
Definition util.h:448