getNormalMorseDecoded = (input) -> # Well, this shouldn't happen... if !(input) return null # remove trailing whitspaces if input.charAt input.length is " " input.substring 0, input.length - 1 input = input.toUpperCase() output = "" # Return special signs if input is "LETTERSPACE" return "   " else if input is "END OF WORK" return "...-.-" else if input is "ERROR" return "........" else if input is "STARTING SIGNAL" return "-.-.-" else if input is "ENDING SIGNAL" return ".-.-." else if input is "UNDERSTOOD" return "...-." else if input is "WAIT" return ".-..." else if input is "SOS" return "...---..." else if input is "LETTER SPACE" return "   " else if input is "WORD SPACE" return "       " else # the converting part while input.length > 0 if input.charAt(0) is " " if output.charAt(output.length) is " " output = output.substring 0, output.length - 1 output += "       " input = input.substring 1 else if input.charAt(0) is "\n" output += "
" input = input.substring 1 else if input.charAt(0) is "A" output += ".-   " input = input.substring 1 else if input.charAt(0) is "B" output += "-...   " input = input.substring 1 else if input.charAt(0) is "C" output += "-.-.   " input = input.substring 1 else if input.charAt(0) is "D" output += "-..   " input = input.substring 1 else if input.charAt(0) is "E" output += ".   " input = input.substring 1 else if input.charAt(0) is "F" output += "..-.   " input = input.substring 1 else if input.charAt(0) is "G" output += "--.   " input = input.substring 1 else if input.charAt(0) is "H" output += "....   " input = input.substring 1 else if input.charAt(0) is "I" output += "..   " input = input.substring 1 else if input.charAt(0) is "J" output += ".---   " input = input.substring 1 else if input.charAt(0) is "K" output += "-.-   " input = input.substring 1 else if input.charAt(0) is "L" output += ".-..   " input = input.substring 1 else if input.charAt(0) is "M" output += "--   " input = input.substring 1 else if input.charAt(0) is "N" output += "-.   " input = input.substring 1 else if input.charAt(0) is "O" output += "---   " input = input.substring 1 else if input.charAt(0) is "P" output += ".--.   " input = input.substring 1 else if input.charAt(0) is "Q" output += "--.-   " input = input.substring 1 else if input.charAt(0) is "R" output += ".-.   " input = input.substring 1 else if input.charAt(0) is "S" output += "...   " input = input.substring 1 else if input.charAt(0) is "T" output += "-   " input = input.substring 1 else if input.charAt(0) is "U" output += "..-   " input = input.substring 1 else if input.charAt(0) is "V" output += "...-   " input = input.substring 1 else if input.charAt(0) is "W" output += ".--   " input = input.substring 1 else if input.charAt(0) is "X" output += "-..-   " input = input.substring 1 else if input.charAt(0) is "Y" output += "-.--   " input = input.substring 1 else if input.charAt(0) is "Z" output += "--..   " input = input.substring 1 else if input.charAt(0) is "0" output += "-----   " input = input.substring 1 else if input.charAt(0) is "1" output += ".----   " input = input.substring 1 else if input.charAt(0) is "2" output += "..---   " input = input.substring 1 else if input.charAt(0) is "3" output += "...--   " input = input.substring 1 else if input.charAt(0) is "4" output += "....-   " input = input.substring 1 else if input.charAt(0) is "5" output += ".....   " input = input.substring 1 else if input.charAt(0) is "6" output += "-....   " input = input.substring 1 else if input.charAt(0) is "7" output += "--...   " input = input.substring 1 else if input.charAt(0) is "8" output += "---..   " input = input.substring 1 else if input.charAt(0) is "9" output += "----.   " input = input.substring 1 else if input.charAt(0) is "Ä" output += ".-.-   " input = input.substring 1 else if input.charAt(0) is "Ö" output += "---.   " input = input.substring 1 else if input.charAt(0) is "Ü" output += "..--   " input = input.substring 1 else if input.charAt(0) is "ß" output += "...--...   " input = input.substring 1 else if input.charAt(0) is "." output += ".-.-.-   " input = input.substring 1 else if input.charAt(0) is "," output += "--..--   " input = input.substring 1 else if input.charAt(0) is ":" output += "---...   " input = input.substring 1 else if input.charAt(0) is "" output += "-.-.-.   " input = input.substring 1 else if input.charAt(0) is "?" output += "..--..   " input = input.substring 1 else if input.charAt(0) is "!" output += "-.-.--   " input = input.substring 1 else if input.charAt(0) is "-" output += "-....-   " input = input.substring 1 else if input.charAt(0) is "_" output += "..--.-   " input = input.substring 1 else if input.charAt(0) is "(" output += "-.--.   " input = input.substring 1 else if input.charAt(0) is ")" output += "-.--.-   " input = input.substring 1 else if input.charAt(0) is "=" output += "-...-   " input = input.substring 1 else if input.charAt(0) is "+" output += ".-.-.   " input = input.substring 1 else if input.charAt(0) is "/" output += "-..-.   " input = input.substring 1 else if input.charAt(0) is "@" output += ".--.-.   " input = input.substring 1 else if input.charAt(0) is "'" output += ".----.   " input = input.substring 1 else if input.charAt(0) is "$" output += "...-..-   " input = input.substring 1 else return "Code not listed or wrong." if output.charAt(output.length - 1) is " " output = output.substring 0, output.length - 1 return output getNormalMorseEncoded = (input) -> # Well, this shouldn't happen... if !(input) then return null # remove trailing whitspaces while input.charAt(input.length - 1) is " " input = input.substring 0, input.length - 1 input = input.toUpperCase() # remove all trailing new lines while input.charAt(input.length - 1) is "\n" input = input.substring 0, input.length - 1 # add one letterspace to the input input += " " inputToSign = input output = "" while inputToSign isnt " " d = 0 signFull = true sign = "" while signFull if inputToSign.substring(d, d + 7) is " " or inputToSign.substring(d, d + 3) is " " or inputToSign.charAt(0) is "\n" if d is 0 if inputToSign.substring(0, 7) is " " output += " " inputToSign = inputToSign.substring 7, inputToSign.length if inputToSign.substring(0, 3) is " " inputToSign = inputToSign.substring 3, inputToSign.length if inputToSign.charAt(0) is "\n" output += "
" inputToSign = inputToSign.substring 1, inputToSign.length else sign = inputToSign.substring 0, d inputToSign = inputToSign.substring d, inputToSign.length signFull = false else d++ if sign is ".-" output += "A" else if sign is "-..." output += "B" else if sign is "-.-." output += "C" else if sign is "-.." output += "D" else if sign is "." output += "E" else if sign is "..-." output += "F" else if sign is "--." output += "G" else if sign is "...." output += "H" else if sign is ".." output += "I" else if sign is ".---" output += "J" else if sign is "-.-" output += "K" else if sign is ".-.." output += "L" else if sign is "--" output += "M" else if sign is "-." output += "N" else if sign is "---" output += "O" else if sign is ".--." output += "P" else if sign is "--.-" output += "Q" else if sign is ".-." output += "R" else if sign is "..." output += "S" else if sign is "-" output += "T" else if sign is "..-" output += "U" else if sign is "...-" output += "V" else if sign is ".--" output += "W" else if sign is "-..-" output += "X" else if sign is "-.--" output += "Y" else if sign is "--.." output += "Z" else if sign is "-----" output += "0" else if sign is ".----" output += "1" else if sign is "..---" output += "2" else if sign is "...--" output += "3" else if sign is "....-" output += "4" else if sign is "....." output += "5" else if sign is "-...." output += "6" else if sign is "--..." output += "7" else if sign is "---.." output += "8" else if sign is "----." output += "9" else if sign is ".-.-" output += "Ä" else if sign is "---." output += "Ö" else if sign is "..--" output += "Ü" else if sign is "...--..." output += "ß" else if sign is "----" output += "CH" else if sign is ".-.-.-" output += "." else if sign is "--..--" output += "," else if sign is "---..." output += ":" else if sign is "-.-.-." output += ";" else if sign is "..--.." output += "?" else if sign is "-.-.--" output += "!" else if sign is "-....-" output += "-" else if sign is "..--.-" output += "_" else if sign is "-.--." output += "(" else if sign is "-.--.-" output += ")" else if sign is ".----." output += "'" else if sign is "-...-" output += "=" else if sign is ".-.-." output += "+" else if sign is "-..-." output += "/" else if sign is ".--.-." output += "@" else if sign is "-.-.-" output += "Begin of the signal" else if sign is "-...-" output += "Wait" else if sign is "...-." output += "Understood" else if sign is "...-.-" output += "End of work" else if sign is "...---..." output += "SOS" else if sign is "........" output += "Error" else return "Code not listed or wrong." return output