Allow turning on/off the rotor advance
This commit is contained in:
parent
f6f870d7dd
commit
700ad655c2
1 changed files with 5 additions and 1 deletions
|
@ -14,6 +14,8 @@ class Machine {
|
||||||
let reflector: Reflector
|
let reflector: Reflector
|
||||||
let plugboard: Plugboard
|
let plugboard: Plugboard
|
||||||
|
|
||||||
|
var rotorAdvanceEnabled: Bool = true
|
||||||
|
|
||||||
init(rotors: [Rotor], reflector: Reflector, plugboard: Plugboard) {
|
init(rotors: [Rotor], reflector: Reflector, plugboard: Plugboard) {
|
||||||
self.rotors = rotors
|
self.rotors = rotors
|
||||||
self.reflector = reflector
|
self.reflector = reflector
|
||||||
|
@ -21,7 +23,9 @@ class Machine {
|
||||||
}
|
}
|
||||||
|
|
||||||
func encode(c: Character) throws -> Character {
|
func encode(c: Character) throws -> Character {
|
||||||
advanceRotors()
|
if rotorAdvanceEnabled {
|
||||||
|
advanceRotors()
|
||||||
|
}
|
||||||
var output = c
|
var output = c
|
||||||
output = try plugboard.encode(output)
|
output = try plugboard.encode(output)
|
||||||
for rotor in rotors.reverse() {
|
for rotor in rotors.reverse() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue