Example #1
0
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);
  }
}
Example #2
0
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();
}