package de.vanitasvitae.enigmandroid; /** * Klasse für das Steckerbrett der Enigma * @author vanitas * */ public class Plugboard { //Plugboard // Q W E R T Z U I O // A S D F G H J K // P Y X C V B N M L //Array für die Steckerverbindungen int[] pb; //Vergleichsarray (Keine Stecker) public static final int[] ref = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; /** * Erzeuge neues Plugboard ohne Steckverbindungen */ public Plugboard() { pb = new int[26]; resetPlugboard(); } /** * Verschlüssele den gegebenen Buchstaben, den Regeln des Plugboard folgend * @param x zu verschlüsselndes Zeichen * @return Verschlüsseltes Zeichen */ public int encrypt(int x) { return pb[x]; } /** * Setze das Plugboard in den Standardzustand (Keine Stecker) */ public void resetPlugboard() { pb = new int[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; } public void setPlugs(char[][] p) throws PlugAlreadyUsedException { for(int i=0; i