diff options
author | jake <jake@jakes-mail.top> | 2023-02-18 16:48:07 -0500 |
---|---|---|
committer | jake <jake@jakes-mail.top> | 2023-02-18 16:48:07 -0500 |
commit | d98b3130068c36438f419353cc28d12b9b7333fe (patch) | |
tree | c10e6637d7b82d0dee3e28e207f48a43d33ad9e1 | |
parent | 4b9191e4819a79636ba4a68b7dd9850e622ed40f (diff) |
en passant bug fix; don't check out of bounds
-rw-r--r-- | Main.gd | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -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 |