if ($piece eq 'K') {
# Convert to Chess960 king-takes-rook.
- $to_col = 7 if ($move eq 'e1g1');
- $to_col = 0 if ($move eq 'e1c1');
+ $to_col = 7 if ($move eq 'e1g1' && $board->[$to_row][$to_col] ne 'R');
+ $to_col = 0 if ($move eq 'e1c1' && $board->[$to_row][$to_col] ne 'R');
my $dst_piece = $board->[$to_row][$to_col];
}
} elsif ($piece eq 'k') {
# Convert to Chess960 king-takes-rook.
- $to_col = 7 if ($move eq 'e8g8');
- $to_col = 0 if ($move eq 'e8c8');
+ $to_col = 7 if ($move eq 'e8g8' && $board->[$to_row][$to_col] ne 'r');
+ $to_col = 0 if ($move eq 'e8c8' && $board->[$to_row][$to_col] ne 'r');
my $dst_piece = $board->[$to_row][$to_col];