X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=dart%2FDart.pm;h=3e5dbcae49c67efde6ad78692af34b657c12a1ef;hb=52738a9c3bc2b9bbd0729d8ba1dcb1b970681e67;hp=7adec4a41fc72980caee0df5cdf1957f6ba5f4fb;hpb=bb6a4ae2d56165eda02ce1232d40efd1381ffef0;p=svn42.git diff --git a/dart/Dart.pm b/dart/Dart.pm index 7adec4a..3e5dbca 100644 --- a/dart/Dart.pm +++ b/dart/Dart.pm @@ -24,6 +24,12 @@ sub new return $self; } +sub trace_shoot +{ + my $self=shift; + my ($property)=@_; + push @{$self->{trace_shoot}},$property; +} sub get_color { @@ -46,6 +52,7 @@ sub init $self->{current_player}=0; $self->{player_count}=@{$self->{player}}; $self->{active_player_count}=$self->{player_count}; + $self->{trace_shoot_data}={}; $self->callback('init'); } @@ -122,12 +129,34 @@ sub shoot { $self->{current_shoot}={mult=>$mult,number=>$number}; $self->{current_shoot_count}++; - return $self->callback('shoot',$mult,$number); + my $result = $self->callback('shoot',$mult,$number); + for my $trace_prop ( @{$self->{trace_shoot}}) + { + push @{$self->{trace_shoot_data}{$self->{current_player}}},$self->get_current_player()->{$trace_prop}; + } + return $result; } else { return 0; } } +sub plot_trace_shoot +{ + my $self=shift; + my $datastr; + for my $player_num (keys %{$self->{trace_shoot_data}}) + { + $datastr.=$self->get_player($player_num)->{name}.':'; + $datastr.= join ',',@{$self->{trace_shoot_data}{$player_num}}; + $datastr.="\n"; + } + chomp $datastr; + my $plotter; + open($plotter,"|./plot.py") or return; + print $plotter $datastr; + close $plotter; +} + sub shout_last_shoot { my $self=shift;