#!/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();