X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=Board.pm;h=2edc07de0c61a37b93ebee9e5aadd73fe29985e2;hp=f20cecfea2faf2cdf2ad357c16959bcb420bfd1c;hb=e8d50f04060a581d1380d03e50de49ab592f3188;hpb=12ec00ad8a58c24a674bf5209ec5e004e60b93ab diff --git a/Board.pm b/Board.pm index f20cecf..2edc07d 100644 --- a/Board.pm +++ b/Board.pm @@ -170,7 +170,7 @@ sub parse_pretty_move { # Parse promo my $promo; - if ($move =~ s/=([QRNB])$//) { + if ($move =~ s/=?([QRNB])$//) { $promo = $1; } @@ -425,6 +425,19 @@ sub prettyprint_move { return ($pretty, $nb); } +sub num_pieces { + my ($board) = @_; + + my $num = 0; + for my $row (0..7) { + for my $col (0..7) { + my $piece = $board->[$row][$col]; + ++$num if ($piece ne '-'); + } + } + return $num; +} + sub _prettyprint_move_no_check_or_mate { my ($board, $from_row, $from_col, $to_row, $to_col, $promo) = @_; my $piece = $board->[$from_row][$from_col]; @@ -467,7 +480,7 @@ sub _prettyprint_move_no_check_or_mate { if (defined($promo) && $promo ne '') { # promotion $pretty .= "="; - $pretty .= $promo; + $pretty .= uc($promo); } } return $pretty;