diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java index 6d8ac36d997457310c25199863ad9f96175de321..724cb462b9b6034bd2544aed4bd3446ebb7b1d0d 100644 --- a/src/main/java/projekt/enigma/model/Codierer.java +++ b/src/main/java/projekt/enigma/model/Codierer.java @@ -196,7 +196,7 @@ public class Codierer { String[] nachricht = new String[4]; String[] codierteNachricht = new Funkraum().empfangeFunkspruch(this.kenngruppe); - if (codierteNachricht.length > 2 && codierteNachricht[1].split(" ").length > 3) { + if (codierteNachricht.length > 1 && codierteNachricht[1].split(" ").length > 3) { nachricht[0] = codierteNachricht[0]; nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]); nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0])); @@ -260,9 +260,9 @@ public class Codierer { */ public char[] getWalzen() { char[] walzen = new char[3]; - walzen[0] = this.hardware.getWalzen()[0].getAnzeige(); - walzen[1] = this.hardware.getWalzen()[1].getAnzeige(); - walzen[2] = this.hardware.getWalzen()[2].getAnzeige(); + walzen[0] = this.hardware.getWalzen()[0].getPosition(); + walzen[1] = this.hardware.getWalzen()[1].getPosition(); + walzen[2] = this.hardware.getWalzen()[2].getPosition(); return walzen; } diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java index 90211ea8f84ad300fcec10621ae0c4feeabdbd4b..99d41248aa3aca3a3529674c1750a79c4ebe8a3a 100644 --- a/src/main/java/projekt/enigma/model/Walze.java +++ b/src/main/java/projekt/enigma/model/Walze.java @@ -134,33 +134,23 @@ public class Walze { */ public boolean dreheWalze(int richtung) { boolean checkRing = false; + int korrektorFaktor = 0; if (richtung == 1) { - Collections.rotate(Arrays.asList(this.walzeAlpha), richtung); + Collections.rotate(Arrays.asList(this.walzeAlpha), -1); } else { - richtung = -1; - Collections.rotate(Arrays.asList(this.walzeAlpha), richtung); + korrektorFaktor = 1; + Collections.rotate(Arrays.asList(this.walzeAlpha), 1); } // gleicht die Ringstellung mit der aktuellen Position ab - if (this.getPosition() + 1 == this.ringstellung) { + if (this.getPosition() + korrektorFaktor == this.ringstellung) { checkRing = true; } return checkRing; } - /** - * TODO: Dokumentieren // dass selbe wie getPosition - * Gibt den Buchstaben zurueck der in der Walze aktuell eingestellt ist. - * - * @return char an der Stelle temp des Alphabets - */ - public char getAnzeige() { - int temp = this.fetchArrayIndex('A', this.walzeAlpha); - return this.alphabet[temp]; - } - /** * Codiert den mitgegebenen Buchstaben anhand der gewaehlten Walze. *