From e667a00310b615479247291984698b65654495ba Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Sun, 4 Jul 2010 15:25:42 +0200 Subject: [PATCH] PF_*_TRAPPED: Determine safety for correct color to play --- board.c | 4 ++-- pattern.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/board.c b/board.c index 6151c23..9f905f0 100644 --- a/board.c +++ b/board.c @@ -428,13 +428,13 @@ board_gamma_update(struct board *board, coord_t coord, enum stone color) if (trait_at(board, coord, color).cap) { int i = 0; i |= (trait_at(board, coord, color).cap1 == trait_at(board, coord, color).cap) << PF_CAPTURE_1STONE; - i |= (!trait_at(board, coord, color).safe) << PF_CAPTURE_TRAPPED; + i |= (!trait_at(board, coord, stone_other(color)).safe) << PF_CAPTURE_TRAPPED; value *= board->gamma->gamma[FEAT_CAPTURE][i]; } if (trait_at(board, coord, stone_other(color)).cap) { int i = 0; i |= (trait_at(board, coord, stone_other(color)).cap1 == trait_at(board, coord, stone_other(color)).cap) << PF_AESCAPE_1STONE; - i |= (!trait_at(board, coord, stone_other(color)).safe) << PF_AESCAPE_TRAPPED; + i |= (!trait_at(board, coord, color).safe) << PF_AESCAPE_TRAPPED; value *= board->gamma->gamma[FEAT_AESCAPE][i]; } if (!trait_at(board, coord, color).safe) diff --git a/pattern.c b/pattern.c index f53b228..1979767 100644 --- a/pattern.c +++ b/pattern.c @@ -153,7 +153,7 @@ pattern_match_capture(struct pattern_config *pc, pattern_spec ps, if (PS_PF(CAPTURE, 1STONE)) f->payload |= (trait_at(b, m->coord, m->color).cap1 == trait_at(b, m->coord, m->color).cap) << PF_CAPTURE_1STONE; if (PS_PF(CAPTURE, TRAPPED)) - f->payload |= (!trait_at(b, m->coord, m->color).safe) << PF_CAPTURE_TRAPPED; + f->payload |= (!trait_at(b, m->coord, stone_other(m->color)).safe) << PF_CAPTURE_TRAPPED; (f++, p->n++); return f; } -- 2.11.4.GIT