|
|
@@ -8,8 +8,6 @@ use strict; |
|
|
|
use lib './'; |
|
|
|
use LPST; |
|
|
|
|
|
|
|
my $b; |
|
|
|
|
|
|
|
# Move types |
|
|
|
my $SUMMON = 0b00000001; |
|
|
|
my $MOVE = 0b00000010; |
|
|
@@ -38,20 +36,21 @@ sub is_draw($){ |
|
|
|
return $_[0] <= 1 ? $DRAW : 0; |
|
|
|
} |
|
|
|
|
|
|
|
sub draw($$){ |
|
|
|
my ($s0, $apl) = (shift, shift); |
|
|
|
die "invalid draw() syntax $s0" unless $s0 =~ /^([A-Za-z]{1,2} ){1,3}[A-Za-z]{1,2}$/; |
|
|
|
sub draw($$$){ |
|
|
|
my ($b, $s0, $apl) = (shift, shift, shift); |
|
|
|
die "invalid draw() syntax $s0" unless $s0 =~ /^([A-Za-z]{1,2} ){4}[A-Za-z]{1,2}$/; |
|
|
|
$b->draw($s0); |
|
|
|
} |
|
|
|
|
|
|
|
sub mt2($$$){ |
|
|
|
my ($s0, $tc, $apl) = (shift, shift, shift); |
|
|
|
sub mt2($$$$){ |
|
|
|
my ($b, $s0, $tc, $apl) = (shift, shift, shift, shift); |
|
|
|
|
|
|
|
# return $MOVE if $s0 =~ /([A-Za-z]{1,2}[0-9]{1,2}){2}/; |
|
|
|
# return $CAPTURE if $s0 =~ /\~/; |
|
|
|
# return $SACRIFICE if $s0 =~ /([A-Za-z]{1,2}[0-9]{1,2}' ?){2}/; |
|
|
|
# return $DRAW if $tc <= 1; |
|
|
|
|
|
|
|
draw($s0, $apl) if is_draw($tc) |
|
|
|
draw($b, $s0, $apl) if is_draw($tc); |
|
|
|
} |
|
|
|
|
|
|
|
sub mt1($$$){ |
|
|
@@ -73,8 +72,8 @@ sub f2($$$){ |
|
|
|
return LPST->P1; |
|
|
|
} |
|
|
|
|
|
|
|
sub f1($){ |
|
|
|
my $ns0 = shift; |
|
|
|
sub f1($$){ |
|
|
|
my ($b, $ns0) = (shift, shift); |
|
|
|
my $apl; |
|
|
|
my $tc; |
|
|
|
|
|
|
@@ -83,7 +82,7 @@ sub f1($){ |
|
|
|
$tc = 0; |
|
|
|
|
|
|
|
for my $s0 (split(/\n/, $ns0)){ |
|
|
|
mt2($s0, $tc, $apl); |
|
|
|
mt2($b, $s0, $tc, $apl); |
|
|
|
|
|
|
|
$apl = f2($s0, $tc, $apl); |
|
|
|
# printf(">>%s\n", $s0); |
|
|
@@ -94,19 +93,20 @@ sub f1($){ |
|
|
|
my $ns0; |
|
|
|
|
|
|
|
$ns0 = ""; |
|
|
|
$ns0 .= "A I It Au\n"; |
|
|
|
$ns0 .= "A S Im Rc\n"; |
|
|
|
|
|
|
|
f1($ns0); |
|
|
|
|
|
|
|
$ns0 .= "A I It Au N\n"; |
|
|
|
$ns0 .= "A S Im Rc It\n"; |
|
|
|
|
|
|
|
my $m1 = "C10"; |
|
|
|
my $m2 = "B3"; |
|
|
|
my $c1 = LPST->MG_SY; |
|
|
|
my $c2 = LPST->MG_A; |
|
|
|
|
|
|
|
my $b; |
|
|
|
|
|
|
|
$b = LPST->new(); |
|
|
|
|
|
|
|
f1($b, $ns0); |
|
|
|
|
|
|
|
# $board{$m1} = $P1.$DIV.$c1; |
|
|
|
# $board{$m2} = $P2.$DIV.$c2; |
|
|
|
|
|
|
|