JS in own file; Ported Decode writtenMorse engine; design fixes
This commit is contained in:
parent
90fdd71c88
commit
bac46e47ac
5 changed files with 318 additions and 47 deletions
217
js/engine/DecodeWrittenMorse.js
Normal file
217
js/engine/DecodeWrittenMorse.js
Normal file
|
@ -0,0 +1,217 @@
|
|||
function decodeWrittenMorseManager(message) {
|
||||
if(message == ""){
|
||||
return "Please enter at least one character"
|
||||
} else {
|
||||
if (message.endsWith(" ")) {
|
||||
message = message.substring(0, message.length - 1)
|
||||
}
|
||||
// Variables
|
||||
var input = message.toUpperCase()
|
||||
var output = ""
|
||||
if (input == "LETTERSPACE") {
|
||||
output = "#"
|
||||
} else if (input == "END OF WORK") {
|
||||
output = "000101"
|
||||
} else if (input == "ERROR") {
|
||||
output = "00000000"
|
||||
} else if (input == "STARTING SIGNAL") {
|
||||
output = "10101"
|
||||
} else if (input == "ENDING SIGNAL") {
|
||||
output = "01010"
|
||||
} else if (input == "UNDERSTOOD") {
|
||||
output = "00010"
|
||||
} else if (input == "WAIT") {
|
||||
output = "01000"
|
||||
} else if (input == "SOS") {
|
||||
output = "000111000"
|
||||
} else if (input == "LETTER SPACE") {
|
||||
output = "##"
|
||||
} else if (input == "WORD SPACE") {
|
||||
output = "+"
|
||||
} else {
|
||||
for (var c = input.length; c > 0; c--) {
|
||||
if (input.startsWith(" ")) {
|
||||
if (output.endsWith("#")) {
|
||||
output = output.substring(0, output.length - 1)
|
||||
}
|
||||
output = output +"+"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("A")) {
|
||||
output = output + "01#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("B")) {
|
||||
output = output +"1000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("C")) {
|
||||
output = output +"1010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("D")) {
|
||||
output = output +"100#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("E")) {
|
||||
output = output +"0#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("F")) {
|
||||
output = output +"0010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("G")) {
|
||||
output = output +"110#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("H")) {
|
||||
output = output +"0000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("I")) {
|
||||
output = output +"00#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("J")) {
|
||||
output = output +"0111#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("K")) {
|
||||
output = output +"101#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("L")) {
|
||||
output = output +"0100#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("M")) {
|
||||
output = output +"11#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("N")) {
|
||||
output = output +"10#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("O")) {
|
||||
output = output +"111#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("P")) {
|
||||
output = output +"0110#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("Q")) {
|
||||
output = output +"1101#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("R")) {
|
||||
output = output +"010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("S")) {
|
||||
output = output +"000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("T")) {
|
||||
output = output +"1#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("U")) {
|
||||
output = output +"001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("V")) {
|
||||
output = output +"0001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("W")) {
|
||||
output = output +"011#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("X")) {
|
||||
output = output +"1001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("Y")) {
|
||||
output = output +"1011#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("Z")) {
|
||||
output = output +"1100#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("0")) {
|
||||
output = output +"11111#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("1")) {
|
||||
output = output +"01111#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("2")) {
|
||||
output = output +"00111#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("3")) {
|
||||
output = output +"00011#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("4")) {
|
||||
output = output +"00001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("5")) {
|
||||
output = output +"00000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("6")) {
|
||||
output = output +"10000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("7")) {
|
||||
output = output +"11000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("8")) {
|
||||
output = output +"11100#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("9")) {
|
||||
output = output +"11110#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("Ä")) {
|
||||
output = output +"0101#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("Ö")) {
|
||||
output = output +"1110#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("Ü")) {
|
||||
output = output +"0011#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("ß")) {
|
||||
output = output +"00011000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith(".")) {
|
||||
output = output +"010101#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith(",")) {
|
||||
output = output +"110011#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith(":")) {
|
||||
output = output +"111000#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith(";")) {
|
||||
output = output +"101010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("?")) {
|
||||
output = output +"001100#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("!")) {
|
||||
output = output +"101011#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("-")) {
|
||||
output = output +"100001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("_")) {
|
||||
output = output +"001101#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("(")) {
|
||||
output = output +"10110#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith(")")) {
|
||||
output = output +"101101#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("=")) {
|
||||
output = output +"10001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("+")) {
|
||||
output = output +"01010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("/")) {
|
||||
output = output +"10010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("@")) {
|
||||
output = output +"011010#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("'")) {
|
||||
output = output +"011110#"
|
||||
input = input.substring(1, input.length)
|
||||
} else if (input.startsWith("$")) {
|
||||
output = output +"0001001#"
|
||||
input = input.substring(1, input.length)
|
||||
} else {
|
||||
output = "Code not listed or wrong."
|
||||
}
|
||||
}
|
||||
if (output.endsWith("#")) {
|
||||
output = output.substring(0, output.length - 1)
|
||||
}
|
||||
}
|
||||
return output
|
||||
}
|
||||
}
|
Reference in a new issue