|
|
@@ -69,11 +69,20 @@ sub parse_cmd($){ |
|
|
|
return -1 if $in =~ /^q(uit)?$/i; |
|
|
|
return 1 if($in =~ /^save$/i); |
|
|
|
return 2 if($in =~ /^load$/i); |
|
|
|
return 3 if($in =~ /^show$/i); |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
sub prompt($){ |
|
|
|
my $game_str = shift; |
|
|
|
sub show($$){ |
|
|
|
my ($b, $game_str) = (shift, shift); |
|
|
|
$b->shade_all_p1_mvmt(); |
|
|
|
disp_board($b); |
|
|
|
return prompt($b, $game_str); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
sub prompt($$){ |
|
|
|
my ($b, $game_str) = (shift, shift); |
|
|
|
|
|
|
|
printf("> "); |
|
|
|
my $in; |
|
|
@@ -83,6 +92,7 @@ sub prompt($){ |
|
|
|
return "QUIT" if(parse_cmd($in) == -1); |
|
|
|
return save($game_str) if parse_cmd($in) == 1; |
|
|
|
return load() if parse_cmd($in) == 2; |
|
|
|
return show($b, $game_str) if parse_cmd($in) == 3; |
|
|
|
|
|
|
|
$game_str .= $in."\n"; |
|
|
|
return $game_str; |
|
|
@@ -92,12 +102,13 @@ sub prompt($){ |
|
|
|
sub loop($$){ |
|
|
|
my ($class, $game_str) = (shift, shift); |
|
|
|
my $in; |
|
|
|
my $b; |
|
|
|
|
|
|
|
$b = LPST->new(); |
|
|
|
$game_str = eval_game_str($b, $game_str); |
|
|
|
printf("%s\n", $game_str); |
|
|
|
|
|
|
|
$game_str = prompt($game_str); |
|
|
|
$game_str = prompt($b, $game_str); |
|
|
|
return $game_str; |
|
|
|
} |
|
|
|
|
|
|
|