Advertisement
Guest User

Untitled

a guest
Jan 16th, 2021
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //use node.js to run this
  2. //steps through the message prompting for letter selection
  3. const prompts = require('prompts');
  4. const alphabet = {
  5.   '.-': 'a',
  6.   '-...': 'b',
  7.   '-.-.': 'c',
  8.   '-..': 'd',
  9.   '.': 'e',
  10.   '..-.': 'f',
  11.   '--.': 'g',
  12.   '....': 'h',
  13.   '..': 'i',
  14.   '.---': 'j',
  15.   '-.-': 'k',
  16.   '.-..': 'l',
  17.   '--': 'm',
  18.   '-.': 'n',
  19.   '---': 'o',
  20.   '.--.': 'p',
  21.   '--.-': 'q',
  22.   '.-.': 'r',
  23.   '...': 's',
  24.   '-': 't',
  25.   '..-': 'u',
  26.   '...-': 'v',
  27.   '.--': 'w',
  28.   '-..-': 'x',
  29.   '-.--': 'y',
  30.   '--..': 'z'
  31. }
  32.  
  33. let message = '.-..--..-..-...--..-...-.--.-.-...-..--..-.--...-.-...-.-...--.-.-..--..-.-...-.-.-...-.-...--.-' //pompeo message - using q as last char
  34. //let message = '.--......-...--.--.-------...--.--.---.-.-...-..' //where we go one we go all
  35.  
  36. let phrase = ''
  37. let letter = ''
  38.  
  39. async function main(){
  40.   const array = message.split('')
  41.   for(let i=0,len=array.length;i<len;){
  42.     const st = array[i]
  43.     const nd = array[i] + array[i + 1]
  44.     const rd = array[i] + array[i + 1] + array[i + 2]
  45.     const th = array[i] + array[i + 1] + array[i + 2] + array[i + 3]
  46.     //console.log({st, nd, rd, th})
  47.     const stl = alphabet[st]
  48.     const ndl = alphabet[nd]
  49.     const rdl = alphabet[rd]
  50.     const thl = alphabet[th]
  51.     //console.log({stl, ndl, rdl, thl})
  52.     const response = await prompts({
  53.       type: 'number',
  54.       name: 'value',
  55.       message: `Pick a letter
  56.       1: ${stl},
  57.       2: ${ndl},
  58.       3: ${rdl},
  59.       4: ${thl},
  60.       5: space`,
  61.       validate: value => value < 1 || value > 5? 'Must be 1 - 4' : true
  62.     });
  63.     switch(response.value){
  64.       case 1: letter = stl
  65.         break;
  66.       case 2: letter = ndl
  67.         break;
  68.       case 3: letter = rdl
  69.         break;
  70.       case 4: letter = thl
  71.         break
  72.       case 5: letter = ' '
  73.     }
  74.     if(response.value !== 5){
  75.       i = i + response.value
  76.     }
  77.     phrase += letter
  78.     console.log({phrase, i})
  79.   }
  80. }
  81.  
  82. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement