RCS file: /home/arend/Go/gnugo-rsync/gnugo/engine/aftermath.c,v
retrieving revision 1.61
diff -u -p -r1.61 aftermath.c
|
|
|
|
| 2 | 2 | * This is GNU Go, a Go program. Contact gnugo@gnu.org, or see * |
| 3 | 3 | * http://www.gnu.org/software/gnugo/ for more information. * |
| 4 | 4 | * * |
| 5 | | * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005 and 2006 * |
| | 5 | * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 and 2007 * |
| 6 | 6 | * by the Free Software Foundation. * |
| 7 | 7 | * * |
| 8 | 8 | * This program is free software; you can redistribute it and/or * |
| … |
… |
|
| 490 | 490 | safety = INVINCIBLE; |
| 491 | 491 | |
| 492 | 492 | if (k < 4) { |
| 493 | | int apos = worm[pos2].origin; |
| | 493 | int apos = find_origin(pos2); |
| 494 | 494 | |
| 495 | 495 | if (!mx[apos]) { |
| 496 | 496 | own_worms++; |
RCS file: /home/arend/Go/gnugo-rsync/gnugo/engine/combination.c,v
retrieving revision 1.57
diff -u -p -r1.57 combination.c
|
|
|
|
| 572 | 572 | */ |
| 573 | 573 | for (pos = BOARDMIN; pos < BOARDMAX; pos++) { |
| 574 | 574 | if (board[pos] == other |
| 575 | | && worm[pos].origin == pos |
| 576 | | && worm[pos].liberties == 2 |
| | 575 | && find_origin(pos) == pos |
| | 576 | && countlib(pos) == 2 |
| 577 | 577 | && aa_status[pos] == ALIVE) { |
| 578 | 578 | int libs[2]; |
| 579 | 579 | findlib(pos, 2, libs); |
| … |
… |
|
| 587 | 587 | if (!owl_substantial(pos)) { |
| 588 | 588 | int pos2; |
| 589 | 589 | for (pos2 = BOARDMIN; pos2 < BOARDMAX; pos2++) |
| 590 | | if (ON_BOARD(pos2) && is_worm_origin(pos2, pos)) |
| | 590 | if (IS_STONE(board[pos2]) && is_worm_origin(pos2, pos)) |
| 591 | 591 | aa_status[pos2] = INSUBSTANTIAL; |
| 592 | 592 | } |
| 593 | 593 | } |
RCS file: /home/arend/Go/gnugo-rsync/gnugo/engine/liberty.h,v
retrieving revision 1.260
diff -u -p -r1.260 liberty.h
|
|
|
|
| 803 | 803 | |
| 804 | 804 | #define MAX_TACTICAL_POINTS 10 |
| 805 | 805 | |
| | 806 | /* all this data is valid only, when stackp==0 */ |
| 806 | 807 | struct worm_data { |
| 807 | 808 | int color; /* its color */ |
| 808 | 809 | int size; /* its cardinality */ |
RCS file: /home/arend/Go/gnugo-rsync/gnugo/engine/owl.c,v
retrieving revision 1.252
diff -u -p -r1.252 owl.c
|
|
|
|
| 454 | 454 | if (verbose > 0) |
| 455 | 455 | verbose--; |
| 456 | 456 | for (str = BOARDMIN; str < BOARDMAX; str++) |
| 457 | | if (ON_BOARD(str) && ms[str] && worm[str].origin == str) { |
| | 457 | if (ON_BOARD(str) && ms[str] && find_origin(str) == str) { |
| 458 | 458 | int adj; |
| 459 | 459 | int adjs[MAXCHAIN]; |
| 460 | 460 | int k; |
| … |
… |
|
| 4616 | 4616 | int color = board[apos]; |
| 4617 | 4617 | |
| 4618 | 4618 | ASSERT1(bpos == NO_MOVE || board[bpos] == color, bpos); |
| | 4619 | apos = find_origin(apos); |
| | 4620 | if (bpos != NO_MOVE) |
| | 4621 | bpos = find_origin(bpos); |
| 4619 | 4622 | |
| 4620 | 4623 | for (pos = BOARDMIN; pos < BOARDMAX; pos++) |
| 4621 | 4624 | if (ON_BOARD(pos)) { |
| 4622 | | if (is_same_worm(pos, apos) || is_same_worm(pos, bpos)) |
| | 4625 | if (IS_STONE(board[pos]) |
| | 4626 | && (find_origin(pos) == apos || find_origin(pos) == bpos)) |
| 4623 | 4627 | owl->goal[pos] = 1; |
| 4624 | 4628 | else |
| 4625 | 4629 | owl->goal[pos] = 0; |
| … |
… |
|
| 6898 | 6902 | continue; |
| 6899 | 6903 | |
| 6900 | 6904 | for (ii = BOARDMIN; ii < BOARDMAX && w < MAX_GOAL_WORMS; ii++) |
| 6901 | | if (ON_BOARD(ii) && board[ii] && worm[ii].origin == ii |
| 6902 | | && worm[ii].size >= 3 && dragon[ii].id == d) |
| | 6905 | if (IS_STONE(board[ii]) && find_origin(ii) == ii |
| | 6906 | && countstones(ii) >= 3 && dragon[ii].id == d) |
| 6903 | 6907 | goal_worm[w++] = ii; |
| 6904 | 6908 | } |
| 6905 | 6909 | } |