en passant bug fix; don't check out of bounds

This commit is contained in:
jake 2023-02-18 16:48:07 -05:00
parent 4b9191e481
commit d98b313006

14
Main.gd
View file

@ -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 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 make_tiles(coords, [-1,1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true
en_passent_se: en_passent_se:
var pawn_maybe = board[coords[0]+1][coords[1]] if ! coords[0] + 1 > BOARD_WIDTH:
if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: var pawn_maybe = board[coords[0]+1][coords[1]]
if make_tiles(coords, [1,1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true 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: move_1_up_pawn:
if make_tiles(coords, [0,-1], 1, true, curr_team): can_move = true 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 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 make_tiles(coords, [-1,-1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true
en_passent_ne: en_passent_ne:
var pawn_maybe = board[coords[0]+1][coords[1]] if ! coords[0] + 1 > BOARD_WIDTH:
if pawn_maybe and pawn_maybe.get_piece() == "pawn" and pawn_maybe == en_passant_pawn and pawn_maybe.get_team() != curr_team: var pawn_maybe = board[coords[0]+1][coords[1]]
if make_tiles(coords, [1,-1], 1, true, curr_team, {"en_passant_pawn": pawn_maybe}): can_move = true 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: move_up_inf:
if make_tiles(coords, [0,-1], BOARD_HEIGHT, false, curr_team): can_move =true if make_tiles(coords, [0,-1], BOARD_HEIGHT, false, curr_team): can_move =true