+ $self->{callbacks}=$params{callbacks};
+
+ open($self->{shout_fifo}, '>>', $params{shout_fifo}) or die $!;
+ $self->{shout_fifo}->autoflush(1);
+
+ my $termios = new POSIX::Termios;
+ $termios->getattr;
+ $self->{term} = Term::Cap->Tgetent( { OSPEED => $termios->getospeed } );
+ $self->init();
+ return $self;
+}
+
+sub trace_shoot
+{
+ my $self=shift;
+ my ($property)=@_;
+ push @{$self->{trace_shoot}},$property;
+}
+
+sub get_color
+{
+ my $self=shift;
+ my ($mul,$zahl)=@_;
+ my @zahlen = qw/20 1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12 5 25/;
+ my $counter=0;
+ $counter++ while($zahl != shift @zahlen and @zahlen);
+ $mul=0 if $mul >1;
+ my $result = ($counter+$mul )%2;
+ return $result;
+}
+
+sub init
+{
+ my $self=shift;
+ $self->{round}=0;