X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=Board.pm;fp=Board.pm;h=6df8ecae1326b4bb083f66598c3e5b59a1455b3b;hp=3e0fd33a52b4fa72a4264a4eff58962dc93cc197;hb=064c1bd8e1689b614d75e005e5379fe4806ba15b;hpb=4c690438b189e0656720b0e20eb09ec97b52727a diff --git a/Board.pm b/Board.pm index 3e0fd33..6df8eca 100644 --- a/Board.pm +++ b/Board.pm @@ -233,42 +233,6 @@ sub fen { # Returns a compact bit string describing the same data as fen(). # This is encoded using a Huffman-like encoding, and should be # typically about 1/3 the number of bytes. -sub bitpacked_fen { - my ($board) = @_; - my $bits = ""; - - for my $row (0..7) { - for my $col (0..7) { - my $piece = $board->[$row][$col]; - if ($piece eq '-') { - $bits .= "0"; - next; - } - - my $color = (lc($piece) eq $piece) ? 0 : 1; - $bits .= "1" . $color; - - if (lc($piece) eq 'p') { - $bits .= "0"; - } elsif (lc($piece) eq 'n') { - $bits .= "100"; - } elsif (lc($piece) eq 'b') { - $bits .= "101"; - } elsif (lc($piece) eq 'r') { - $bits .= "1110"; - } elsif (lc($piece) eq 'q') { - $bits .= "11110"; - } elsif (lc($piece) eq 'k') { - $bits .= "11111"; - } else { - die "Unknown piece $piece"; - } - } - } - - return pack('b*', $bits); -} - sub can_reach { my ($board, $piece, $from_row, $from_col, $to_row, $to_col) = @_;