summaryrefslogtreecommitdiff
path: root/include/tak.c
diff options
context:
space:
mode:
Diffstat (limited to 'include/tak.c')
-rw-r--r--include/tak.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/include/tak.c b/include/tak.c
index 5551e5b..1d29694 100644
--- a/include/tak.c
+++ b/include/tak.c
@@ -308,6 +308,20 @@ check_road_colour(const enum COLOUR colour) {
enum WIN_TYPE
check_win(void) {
+ // Road?
+ enum WIN_TYPE rb, rw;
+ rb = check_road_colour(C_BLACK);
+ rw = check_road_colour(C_WHITE);
+
+ if (rb == WIN_ROAD_BLACK) {
+ if (rw == WIN_ROAD_WHITE) {
+ return WIN_DRAGON;
+ } else {
+ return WIN_ROAD_BLACK;
+ }
+ } else {
+ return rw;
+ }
int8_t total = 0, board_full = 1;
for (uint8_t k = 0; k < NUM_SQUARES; k++) {
@@ -325,21 +339,6 @@ check_win(void) {
else if (total < 0) return WIN_FLAT_WHITE;
else return WIN_DRAW;
}
-
- // Road?
- enum WIN_TYPE rb, rw;
- rb = check_road_colour(C_BLACK);
- rw = check_road_colour(C_WHITE);
-
- if (rb == WIN_ROAD_BLACK) {
- if (rw == WIN_ROAD_WHITE) {
- return WIN_DRAGON;
- } else {
- return WIN_ROAD_BLACK;
- }
- } else {
- return rw;
- }
}
// ===================================================================
// PTN place parser