diff --git a/MNU.pm b/MNU.pm index 04aaf82..b679366 100644 --- a/MNU.pm +++ b/MNU.pm @@ -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; } diff --git a/drv.pl b/drv.pl index b0c71b9..b4073ee 100644 --- a/drv.pl +++ b/drv.pl @@ -11,6 +11,6 @@ my $game_str; $game_str = ""; while(($game_str = MNU->loop($game_str)) ne "QUIT"){ - # printf("XXXX%s\n", $game_str); + printf("blah\n"); }