void showpathstree(Suffixtree *stree,Bref bnode, void (*showchar)(SYMBOL,void *),void *info) { Branchinfo branchinfo; Uint i; getbranchinfostree(stree,ACCESSHEADPOS | ACCESSDEPTH,&branchinfo,bnode); for(i = 0; i < branchinfo.depth; i++) { showchar(stree->text[branchinfo.headposition + i],info); } }
void showboard(int xo) { int i, j, ii; gg_init_color(); /* Set all dragon numbers to 0. */ memset(dragon_num, 0, sizeof(dragon_num)); next_white = (259 - 26); next_black = 26; start_draw_board(); for (i = 0; i < board_size; i++) { ii = board_size - i; fprintf(stderr, "\n%2d", ii); for (j = 0; j < board_size; j++) showchar(i, j, is_hoshi_point(i, j) ? '+' : '.', xo); fprintf(stderr, " %d", ii); if (xo == 0 && ((board_size < 10 && i == board_size-2) || (board_size >= 10 && i == 8))) fprintf(stderr, " WHITE (O) has captured %d stones", black_captured); if (xo == 0 && ((board_size < 10 && i == board_size-1) || (board_size >= 10 && i == 9))) fprintf(stderr, " BLACK (X) has captured %d stones", white_captured); if (xo == 3) { if (i == board_size-5) write_color_string(GG_COLOR_GREEN, " green=alive"); if (i == board_size-4) write_color_string(GG_COLOR_CYAN, " cyan=dead"); if (i == board_size-3) write_color_string(GG_COLOR_RED, " red=critical"); if (i == board_size-2) write_color_string(GG_COLOR_YELLOW, " yellow=unknown"); if (i == board_size-1) write_color_string(GG_COLOR_MAGENTA, " magenta=unchecked"); } } end_draw_board(); }