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

Hardware, Codebuch etc entfernt und dem Codierer übergeben.

parent 46277d43
No related branches found
No related tags found
No related merge requests found
Pipeline #193 passed with stages
in 4 minutes and 2 seconds
......@@ -7,11 +7,7 @@ import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.apache.http.HttpException;
import java.io.IOException;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.ZoneId;
/**
* JavaFX App
......@@ -19,8 +15,7 @@ import java.time.ZoneId;
public class App extends Application {
private static Scene scene;
private Codebuch cb;
private Hardware h;
private Codierer c;
static void setRoot(String fxml) throws IOException {
scene.setRoot(loadFXML(fxml));
......@@ -41,72 +36,29 @@ public class App extends Application {
stage.setScene(scene);
stage.show();
initialisiereHardware();
this.c = new Codierer();
/**
* TODO: Nur zum Testen muss später wieder gelöscht werden.
*/
//region Test
h.setKenngruppe("deisold");
c.setKenngruppe("deisold");
String nachricht = "Hello world.";
for (char buchstabe : nachricht.toCharArray()) {
System.out.print(buchstabe + ":");
System.out.print(h.codiere(buchstabe));
System.out.println(" W1:" + h.getWalzen()[0].getBuchstabe() + " W2:" + h.getWalzen()[1].getBuchstabe() + " W3:" + h.getWalzen()[2].getBuchstabe());
if(buchstabe > 0) {
System.out.print(buchstabe + ":");
System.out.print(c.getHardware().codiere(buchstabe));
System.out.println(" W1:" + c.getHardware().getWalzen()[0].getBuchstabe() + " W2:" + c.getHardware().getWalzen()[1].getBuchstabe() + " W3:" + c.getHardware().getWalzen()[2].getBuchstabe());
}
}
try {
System.out.println(h.getNachricht());
h.sendeNachricht();
System.out.println(c.getNachricht());
c.sendeNachricht();
} catch (HttpException e) {
e.printStackTrace();
}
//endregion
}
/**
* Hier lesen wir den heutigen Eintrag aus dem Codebuch aus und erstellen ein Codebuch Objekt
* Nach dem Codebuch werden dann die Ringe auf die Walzen gesteckt und die Walzen anschließend
* in die Hardware gebaut.
* <p>
* Ein Reflektor wird definiert, jedoch keine Werte zugewisen, da wir nur einen besitzen und
* deshalb alle Einstellungen hierfür Statisch im Reflektor definiert haben.
* <p>
* Das Steck wird ebenfalls definiert und die notwendigen Kabel eingesteckt laut dem heutigen
* Codebuch Eintrag.
*/
private void initialisiereHardware() {
// Hole den heutigen Eintrag aus der SQLite Datenbank und erstelle daraus ein Codebuch Objekt
try {
this.cb = new DatenbankSqlite().getCodebuch(LocalDate.now(ZoneId.of("Europe/Berlin")).getDayOfMonth());
} catch (SQLException ignored) {
}
// TODO: Was zum Henker macht der hier????!?
System.out.println(this.cb.toString());
// Das Steckbrett initialisieren
Steckbrett sb = new Steckbrett();
char[][] verbinder = cb.getSteckverbindung();
// Für jedes Kabel eine Verbindung auf dem Steckbrett setzen
for (char[] kabel : verbinder) {
sb.setzeVertauschung(kabel[0], kabel[1]);
}
// Die Hardware aus dem Koffer holen (initialisieren)
this.h = new Hardware();
// Den Ring an der Walze anbringen und die Walze dann in die Hardware einsetzen
h.setWalzen(0, cb.getWalzenlage()[0], cb.getRingstellung()[0]);
h.setWalzen(1, cb.getWalzenlage()[1], cb.getRingstellung()[1]);
h.setWalzen(2, cb.getWalzenlage()[2], cb.getRingstellung()[2]);
// Der Hardware das gesetzte Steckbrett zuweisen
h.setSteckbrett(sb);
// Ein Reflektor Objekt erstellen und der Hardware bekannt geben
h.setReflektor(new Reflektor());
}
}
\ No newline at end of file
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