2 # Convert ascii board diagrams from board_print() to sgf.
3 # Usage: ./board_print_to_sgf > foo.sgf
4 # copy paste the diagram, ^D
7 binmode STDIN
, ":utf8";
8 binmode STDOUT
, ":utf8";
10 my $asdf = "abcdefghijklmnopqrstuvwxyz";
16 return substr($asdf, $x-1, 1) . substr($asdf, $y-1, 1);
22 foreach my $s (<STDIN
>)
25 # remove current move mark
26 $s =~ s/([OX.])\)/$1 /;
27 if ($s =~ m/^ ([ 1][0-9]) \| (([.OX] )+)\|/ ||
28 $s =~ m/^([ 1][0-9]) *(([.OX] )+) /)
30 my ($l, $s) = ($1, $2);
32 my @t = split("", $s);
35 for (my $i = 0; $i < @t; $i++)
37 if ($t[$i] ne "X") { next; }
38 $ab .= sprintf("[%s]", coord2sgf
($i+1, $l));
41 for (my $i = 0; $i < @t; $i++)
43 if ($t[$i] ne "O") { next; }
44 $aw .= sprintf("[%s]", coord2sgf
($i+1, $l));
52 if ($ab ne "") { print "AB$ab\n"; }
53 if ($aw ne "") { print "AW$aw\n"; }