From 322249c6b3f8a606260b44849dfc0344ead3aabe Mon Sep 17 00:00:00 2001 From: Alex Clink Date: Wed, 15 Sep 2021 00:05:30 -0400 Subject: [PATCH] Fix index error if no players are set --- src/lx_chess/game.cr | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lx_chess/game.cr b/src/lx_chess/game.cr index d6566f0..15b7679 100644 --- a/src/lx_chess/game.cr +++ b/src/lx_chess/game.cr @@ -194,17 +194,21 @@ module LxChess end def can_castle_right?(piece) + return false if @players.empty? player = piece.white? ? @players[0] : @players[1] return false unless player.castle_right return false unless index = piece.index + return false unless @board.border_right(index) >= 2 # TODO: figure out if castling crosses checks @board[index + 1].nil? && @board[index + 2].nil? end def can_castle_left?(piece) + return false if @players.empty? player = piece.white? ? @players[0] : @players[1] return false unless player.castle_left return false unless index = piece.index + return false unless @board.border_left(index) <= 2 # TODO: figure out if castling crosses checks @board[index - 1].nil? && @board[index - 2].nil? end