summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortslil <tslil@posteo.de>2021-01-13 11:12:37 -0500
committertslil <tslil@posteo.de>2026-08-28 19:37:41 +0100
commitaff5fe7f343194366beeda700a2f4a383e40fa73 (patch)
tree49eb406c7ed14df02ed23412aff35027a1882d0c
parentb4a5a693bb51a8d3e6e35c75109b55d9fcf111a5 (diff)
Crass error
-rw-r--r--include/tak.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/tak.c b/include/tak.c
index 47a9cc6..dc402d4 100644
--- a/include/tak.c
+++ b/include/tak.c
@@ -231,7 +231,8 @@ dfs_road(uint8_t dfs_stack[NUM_SQUARES], uint8_t dfs_pntr,
if ( ((cur % board_size) + 1 < board_size)
&& (COUNT_AT(cur + 1)) // wont ever be out of bounds
&& ((colours[cur+1] & 1) == colour)
- && ((celldat[cur+1] & DFS_MASK) == 0) ) {
+ && ((celldat[cur+1] & DFS_MASK) == 0)
+ && (STONE_AT(cur+1) != STONE_STANDING)) {
dfs_stack[dfs_pntr++] = cur + 1;
celldat[cur+1] |= DFS_MASK;
}
@@ -240,7 +241,8 @@ dfs_road(uint8_t dfs_stack[NUM_SQUARES], uint8_t dfs_pntr,
if ( (cur % board_size > 0)
&& (COUNT_AT(cur - 1)) // wont ever be out of bounds
&& ((colours[cur-1] & 1) == colour)
- && ((celldat[cur-1] & DFS_MASK) == 0) ) {
+ && ((celldat[cur-1] & DFS_MASK) == 0)
+ && (STONE_AT(cur-1) != STONE_STANDING)) {
dfs_stack[dfs_pntr++] = cur - 1;
celldat[cur-1] |= DFS_MASK;
}
@@ -249,7 +251,8 @@ dfs_road(uint8_t dfs_stack[NUM_SQUARES], uint8_t dfs_pntr,
if ( (cur + board_size < NUM_SQUARES)
&& (COUNT_AT(cur + board_size))
&& ((colours[cur+board_size] & 1) == colour)
- && ((celldat[cur+board_size] & DFS_MASK) == 0) ) {
+ && ((celldat[cur+board_size] & DFS_MASK) == 0)
+ && (STONE_AT(cur+board_size) != STONE_STANDING)) {
dfs_stack[dfs_pntr++] = cur + board_size;
celldat[cur+board_size] |= DFS_MASK;
}
@@ -258,7 +261,8 @@ dfs_road(uint8_t dfs_stack[NUM_SQUARES], uint8_t dfs_pntr,
if ( (cur >= board_size)
&& (COUNT_AT(cur - board_size))
&& ((colours[cur-board_size] & 1) == colour)
- && ((celldat[cur-board_size] & DFS_MASK) == 0) ) {
+ && ((celldat[cur-board_size] & DFS_MASK) == 0)
+ && (STONE_AT(cur-board_size) != STONE_STANDING)) {
dfs_stack[dfs_pntr++] = cur - board_size;
celldat[cur-board_size] |= DFS_MASK;
}