From 2b28ab91084f37a5e9014737d0df694587fe60cf Mon Sep 17 00:00:00 2001 From: dakkar Date: Mon, 29 Aug 2011 19:16:26 +0100 Subject: fixed rotor ring settings and removed debug prints --- lib/Enigmatic/CryptTrain.pm | 30 +++++++++++------------------- lib/Enigmatic/Machine.pm | 13 ------------- lib/Enigmatic/Rotor.pm | 9 ++++----- 3 files changed, 15 insertions(+), 37 deletions(-) (limited to 'lib/Enigmatic') diff --git a/lib/Enigmatic/CryptTrain.pm b/lib/Enigmatic/CryptTrain.pm index 4d4b6c6..97332f4 100644 --- a/lib/Enigmatic/CryptTrain.pm +++ b/lib/Enigmatic/CryptTrain.pm @@ -56,13 +56,9 @@ around BUILDARGS => sub { if ($args->{positions}) { - warn "pos: @{$args->{positions}}\n"; - for my $pos (@{$args->{positions}}) { $pos = to_RotorPos($pos); } - - warn "pos: @{$args->{positions}}\n"; } return $args; @@ -83,32 +79,28 @@ sub map { my $max_idx = $self->rotor_count -1; - my $log=''; - $self->step_positions(); for my $idx (0..$max_idx) { - my $rotor = $self->rotor_at($idx);$log.="($idx:"; - my $position = $self->position_at($idx);$log.="$position)"; + my $rotor = $self->rotor_at($idx); + my $position = $self->position_at($idx); - $letter = _rotate_by($letter,$position);$log.=$letter; - $letter = $rotor->map($letter);$log.=$letter; - $letter = _rotate_by($letter,-$position);$log.=$letter; + $letter = _rotate_by($letter,$position); + $letter = $rotor->map($letter); + $letter = _rotate_by($letter,-$position); } - $letter = $self->reflector->map($letter);$log.="r${letter}r"; + $letter = $self->reflector->map($letter); for my $idx (reverse 0..$max_idx) { - my $rotor = $self->rotor_at($idx);$log.="($idx:"; - my $position = $self->position_at($idx);$log.="$position)"; + my $rotor = $self->rotor_at($idx); + my $position = $self->position_at($idx); - $letter = _rotate_by($letter,$position);$log.=$letter; - $letter = $rotor->inverse_map($letter);$log.=$letter; - $letter = _rotate_by($letter,-$position);$log.=$letter; + $letter = _rotate_by($letter,$position); + $letter = $rotor->inverse_map($letter); + $letter = _rotate_by($letter,-$position); } - warn "$log\n"; - return $letter; } diff --git a/lib/Enigmatic/Machine.pm b/lib/Enigmatic/Machine.pm index f5d5081..cc736e0 100644 --- a/lib/Enigmatic/Machine.pm +++ b/lib/Enigmatic/Machine.pm @@ -55,23 +55,10 @@ sub map { { isa => Letter }, ); -warn "mapping $letter\n"; -warn " initial positions: @{[ $self->train->positions ]}\n"; - $letter = $self->plugboard->map($letter); - -warn " after plugboard: $letter\n"; - $letter = $self->train->map($letter); - -warn " after rotors: $letter\n"; - $letter = $self->plugboard->map($letter); -warn " after plugboard: $letter\n"; - -warn " new positions: @{[ $self->train->positions ]}\n"; - return $letter; } diff --git a/lib/Enigmatic/Rotor.pm b/lib/Enigmatic/Rotor.pm index 9a88718..f725160 100644 --- a/lib/Enigmatic/Rotor.pm +++ b/lib/Enigmatic/Rotor.pm @@ -68,10 +68,9 @@ sub _real_map { my $setting = $self->ring_setting; - my $log = "{$letter"; - $letter = _rotate_by($letter,$setting);$log.=$letter; - $letter = $self->$wiring->at($letter);$log.=$letter; -# $letter = _rotate_by($letter,-$setting);$log.=$letter; - $log .= "}\n";warn $log; + $letter = _rotate_by($letter,-$setting); + $letter = $self->$wiring->at($letter); + $letter = _rotate_by($letter,$setting); + return $letter; } -- cgit v1.2.3