lpst/ntvl.pl
2021-04-07 23:45:14 +00:00

78 lines
1.2 KiB
Perl

#!/usr/bin/perl
package main;
use warnings;
use strict;
use lib './';
use LPST;
my $b;
# Move types
my $SUMMON = 0b00000001;
my $MOVE = 0b00000010;
my $CAPTURE = 0b00000100;
my $SACRIFICE = 0b00001000;
# my $SPELL = 0b10000000;
my $DRAW = 0b01000000;
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;
return LPST->P2 if $apl eq LPST->P1;
return LPST->P1;
}
sub f1($){
my $ns0 = shift;
my $apl;
my $tc;
$apl = LPST->P1;
$tc = 0;
for my $s0 (split(/\n/, $ns0)){
# $mt0 = mt1($s0, $tc);
$apl = f2($s0, $tc, $apl);
# printf(">>%s\n", $s0);
$tc++;
}
}
my $ns0;
$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();