X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=dart%2Fdart-schiffe.pl;h=bf3652f5912eb1b05096af3b567e8654115e9799;hb=050398149d26f27a0b19971cbcea990574d73a57;hp=5eb5bedff23bfa9e03b96a11fec27ab4b3d51150;hpb=fae89975a9223abc415a1ee9809447e93b63620f;p=svn42.git diff --git a/dart/dart-schiffe.pl b/dart/dart-schiffe.pl index 5eb5bed..bf3652f 100755 --- a/dart/dart-schiffe.pl +++ b/dart/dart-schiffe.pl @@ -10,10 +10,10 @@ our %y = array_to_hash(@y); our @schiffe = reverse sort qw/ 4 5 6 /; $|=1; -my (@player) = @ARGV; - +my ($shout_fifo, @player) = @ARGV; my $dart = new Dart(player_names=>\@player, + shout_fifo=>$shout_fifo, callbacks => { shoot=>\&shoot, before_shoot=>\&print_score, @@ -155,6 +155,7 @@ sub shoot my $player=$self->get_current_player(); delete ($player->{last_hit}); $player->{highlight}{shoot}=Clone::clone($self->{empty_matrix}); + $player->{highlight}{selected}=Clone::clone($self->{empty_matrix}); if ( (not $main::x{$zahl}) and (not $main::y{$zahl}) ) { @@ -204,9 +205,9 @@ sub prcl { my $self = shift; my ($color,@what)=@_; - print STDERR color($color) if defined $color; - print STDERR @what; - print STDERR color('reset'); + print color($color) if defined $color; + print @what; + print color('reset'); } sub get_color @@ -218,7 +219,7 @@ sub get_color { return 'bold red'; } elsif ($player->{highlight}{selected}{$x}{$y}) { - return 'bold green'; + return 'black on_green'; } elsif ($player->{score}{$x}{$y} eq 'o') { return 'blue'; } elsif ($player->{score}{$x}{$y} eq 'X') { @@ -242,20 +243,20 @@ sub print_score my $sel_y= $player->{sel_y}; my $mult_x=$player->{mult_x}; my $mult_y=$player->{mult_y}; - printf STDERR "Runde\t%d\n\n",$self->{round}; - printf STDERR "Player\t%s\t\tSchuss\t%d\n\n",$player->{name},$self->{current_shoot_count}; - printf STDERR "x: %dx%2d\n",$player->{mult_x},$player->{sel_x}; - printf STDERR "y: %dx%2d\n",$player->{mult_y},$player->{sel_y}; + printf "Runde\t%d\n\n",$self->{round}; + printf "Player\t%s\t\tSchuss\t%d\n\n",$player->{name},$self->{current_shoot_count}; + printf "x: %dx%2d\n",$player->{mult_x},$player->{sel_x}; + printf "y: %dx%2d\n",$player->{mult_y},$player->{sel_y}; - print STDERR " "; + print " "; for my $y (@main::y) { - printf STDERR " %2d",$y; + printf " %2d",$y; } - print STDERR "\n"; + print "\n"; for my $x (@main::x) { - printf STDERR "%2d",$x; + printf "%2d",$x; for my $y (@main::y) { my $field = $self->get_current_player()->{score}->{$x}{$y}; @@ -266,13 +267,13 @@ sub print_score &prxy($self,$x,$y," ."); } } - printf STDERR " %d",$x; - print STDERR "\n"; + printf " %d",$x; + print "\n"; } - print STDERR " "; + print " "; for my $y (@main::y) { - printf STDERR " %2d",$y; + printf " %2d",$y; } - print STDERR "\n\n"; + print "\n\n"; }