Skip to content
Snippets Groups Projects
Commit 06c301e9 authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Letzter Notch Fehler behoben. Jetzt springen die Walzen endlich am richtigen Umsprungpunkt. #12

parent a000c75d
No related branches found
No related tags found
No related merge requests found
...@@ -196,7 +196,7 @@ public class Codierer { ...@@ -196,7 +196,7 @@ public class Codierer {
String[] nachricht = new String[4]; String[] nachricht = new String[4];
String[] codierteNachricht = new Funkraum().empfangeFunkspruch(this.kenngruppe); 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[0] = codierteNachricht[0];
nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]); nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]);
nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0])); nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0]));
...@@ -260,9 +260,9 @@ public class Codierer { ...@@ -260,9 +260,9 @@ public class Codierer {
*/ */
public char[] getWalzen() { public char[] getWalzen() {
char[] walzen = new char[3]; char[] walzen = new char[3];
walzen[0] = this.hardware.getWalzen()[0].getAnzeige(); walzen[0] = this.hardware.getWalzen()[0].getPosition();
walzen[1] = this.hardware.getWalzen()[1].getAnzeige(); walzen[1] = this.hardware.getWalzen()[1].getPosition();
walzen[2] = this.hardware.getWalzen()[2].getAnzeige(); walzen[2] = this.hardware.getWalzen()[2].getPosition();
return walzen; return walzen;
} }
......
...@@ -134,33 +134,23 @@ public class Walze { ...@@ -134,33 +134,23 @@ public class Walze {
*/ */
public boolean dreheWalze(int richtung) { public boolean dreheWalze(int richtung) {
boolean checkRing = false; boolean checkRing = false;
int korrektorFaktor = 0;
if (richtung == 1) { if (richtung == 1) {
Collections.rotate(Arrays.asList(this.walzeAlpha), richtung); Collections.rotate(Arrays.asList(this.walzeAlpha), -1);
} else { } else {
richtung = -1; korrektorFaktor = 1;
Collections.rotate(Arrays.asList(this.walzeAlpha), richtung); Collections.rotate(Arrays.asList(this.walzeAlpha), 1);
} }
// gleicht die Ringstellung mit der aktuellen Position ab // gleicht die Ringstellung mit der aktuellen Position ab
if (this.getPosition() + 1 == this.ringstellung) { if (this.getPosition() + korrektorFaktor == this.ringstellung) {
checkRing = true; checkRing = true;
} }
return checkRing; 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. * Codiert den mitgegebenen Buchstaben anhand der gewaehlten Walze.
* *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment