From ef622748f9c2a2acc7a6baa5fe1bb6aac68d4278 Mon Sep 17 00:00:00 2001 From: Joshua Higgins Date: Thu, 4 Dec 2025 15:45:54 -0500 Subject: [PATCH] fix: downward diagonals --- src/main.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 1d6e2fc..c0508a5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -289,9 +289,10 @@ async fn handle_connection( let color = current_match.board[x][y].clone(); let mut horizontal_end = true; let mut vertical_end = true; - let mut diagonal_end = true; + let mut diagonal_end_up = true; + let mut diagonal_end_down = true; - if any_empty && color == Color::None { + if any_empty && color == Color::None { any_empty = false; } @@ -311,13 +312,21 @@ async fn handle_connection( if x + i >= 7 || y + i >= 6 || current_match.board[x + i][y + i] != color - && diagonal_end + && diagonal_end_up { - diagonal_end = false; + diagonal_end_up = false; } + + if x + i >= 7 + || (y as i32 - i as i32) < 0 + || current_match.board[x + i][y - i] != color + && diagonal_end_down + { + diagonal_end_down = false; + } } - if horizontal_end || vertical_end || diagonal_end { + if horizontal_end || vertical_end || diagonal_end_up || diagonal_end_down { result = (color.clone(), false); break; }