|
|
@@ -10,23 +10,66 @@ use LPST; |
|
|
|
|
|
|
|
my $b; |
|
|
|
|
|
|
|
# my $m1 = "F7"; |
|
|
|
# my $m1 = "C10"; |
|
|
|
# my $m2 = "B3"; |
|
|
|
# my $c1 = $MG_SY; |
|
|
|
# my $c2 = $MG_A; |
|
|
|
# Move types |
|
|
|
my $SUMMON = 0b00000001; |
|
|
|
my $MOVE = 0b00000010; |
|
|
|
my $CAPTURE = 0b00000100; |
|
|
|
my $SACRIFICE = 0b00001000; |
|
|
|
# my $SPELL = 0b10000000; |
|
|
|
my $DRAW = 0b01000000; |
|
|
|
|
|
|
|
# $board{$m1} = $P1.$DIV.$c1; |
|
|
|
# $board{$m2} = $P2.$DIV.$c2; |
|
|
|
sub mt1($$){ |
|
|
|
my ($s0, $tc) = (shift, shift); |
|
|
|
|
|
|
|
return $SUMMON if $s0 =~ /\*/; |
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
sub f2($$$){ |
|
|
|
my ($s0, $tc, $apl) = (shift, shift, shift); |
|
|
|
my $mt0; |
|
|
|
|
|
|
|
$mt0 = mt1($s0, $tc); |
|
|
|
} |
|
|
|
|
|
|
|
sub f1($){ |
|
|
|
my $ns0 = shift; |
|
|
|
my $apl; |
|
|
|
my $tc; |
|
|
|
|
|
|
|
$apl = LPST->P1; |
|
|
|
|
|
|
|
# for my $el (get_block_cell($P1)){ |
|
|
|
# printf("%s\n", $el); |
|
|
|
# } |
|
|
|
$tc = 0; |
|
|
|
|
|
|
|
for my $s0 (split(/\n/, $ns0)){ |
|
|
|
$apl = f2($s0, $tc, $apl); |
|
|
|
# printf(">>%s\n", $s0); |
|
|
|
$tc++; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
# shade_all_mvmt($P1); |
|
|
|
# disp_board(); |
|
|
|
my $ns0; |
|
|
|
|
|
|
|
$b = LPST->new(); |
|
|
|
$ns0 = ""; |
|
|
|
$ns0 .= "A I It Au\n"; |
|
|
|
$ns0 .= "H S Im Im\n"; |
|
|
|
|
|
|
|
f1($ns0); |
|
|
|
|
|
|
|
|
|
|
|
my $m1 = "C10"; |
|
|
|
my $m2 = "B3"; |
|
|
|
my $c1 = LPST->MG_SY; |
|
|
|
my $c2 = LPST->MG_A; |
|
|
|
|
|
|
|
# $b = LPST->new(); |
|
|
|
|
|
|
|
# $board{$m1} = $P1.$DIV.$c1; |
|
|
|
# $board{$m2} = $P2.$DIV.$c2; |
|
|
|
|
|
|
|
# $b->shade_all_p1_mvmt(); |
|
|
|
$b->disp_board(); |
|
|
|
# $b->disp_board(); |