From d98b3130068c36438f419353cc28d12b9b7333fe Mon Sep 17 00:00:00 2001 From: jake Date: Sat, 18 Feb 2023 16:48:07 -0500 Subject: [PATCH] en passant bug fix; don't check out of bounds --- Main.gd | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Main.gd b/Main.gd index 059e2d3..2fc0d1d 100644 --- a/Main.gd +++ b/Main.gd @@ -233,9 +233,10 @@ func can_chess_move(pattern, coords): if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: if make_tiles(coords, [-1,1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true en_passent_se: - var pawn_maybe = board[coords[0]+1][coords[1]] - if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: - if make_tiles(coords, [1,1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true + if ! coords[0] + 1 > BOARD_WIDTH: + var pawn_maybe = board[coords[0]+1][coords[1]] + if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: + if make_tiles(coords, [1,1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true move_1_up_pawn: if make_tiles(coords, [0,-1], 1, true, curr_team): can_move = true @@ -252,9 +253,10 @@ func can_chess_move(pattern, coords): if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: if make_tiles(coords, [-1,-1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true en_passent_ne: - var pawn_maybe = board[coords[0]+1][coords[1]] - if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: - if make_tiles(coords, [1,-1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true + if ! coords[0] + 1 > BOARD_WIDTH: + var pawn_maybe = board[coords[0]+1][coords[1]] + if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: + if make_tiles(coords, [1,-1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true move_up_inf: if make_tiles(coords, [0,-1], BOARD_HEIGHT, false, curr_team): can_move =true