text: // HANGMAN
  //
  // Converted from BASIC to Javascript by Oscar Toledo G. (nanochess)
  //
  
  function print(str)
  {
      document.getElementById("output").appendChild(document.createTextNode(str));
  }
  
  function input()
  {
      var input_element;
      var input_str;
  
      return new Promise(function (resolve) {
                         input_element = document.createElement("INPUT");
  
                         print("? ");
                         input_element.setAttribute("type", "text");
                         input_element.setAttribute("length", "50");
                         document.getElementById("output").appendChild(input_element);
                         input_element.focus();
                         input_str = undefined;
                         input_element.addEventListener("keydown", function (event) {
                                                        if (event.keyCode == 13) {
                                                        input_str = input_element.value;
                                                        document.getElementById("output").removeChild(input_element);
                                                        print(input_str);
                                                        print("\n");
                                                        resolve(input_str);
                                                        }
                                                        });
                         });
  }
  
  function tab(space)
  {
      var str = "";
      while (space-- > 0)
          str += " ";
      return str;
  }
  
  print(tab(32) + "HANGMAN\n");
  print(tab(15) + "CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY\n");
  print("\n");
  print("\n");
  print("\n");
  
  var pa = [];
  var la = [];
  var da = [];
  var na = [];
  var ua = [];
  
  var words = ["GUM","SIN","FOR","CRY","LUG","BYE","FLY",
               "UGLY","EACH","FROM","WORK","TALK","WITH","SELF",
               "PIZZA","THING","FEIGN","FIEND","ELBOW","FAULT","DIRTY",
               "BUDGET","SPIRIT","QUAINT","MAIDEN","ESCORT","PICKAX",
               "EXAMPLE","TENSION","QUININE","KIDNEY","REPLICA","SLEEPER",
               "TRIANGLE","KANGAROO","MAHOGANY","SERGEANT","SEQUENCE",
               "MOUSTACHE","DANGEROUS","SCIENTIST","DIFFERENT","QUIESCENT",
               "MAGISTRATE","ERRONEOUSLY","LOUDSPEAKER","PHYTOTOXIC",
               "MATRIMONIAL","PARASYMPATHOMIMETIC","THIGMOTROPISM"];
  
  // Main control section
  async function main()
  {
      c = 1;
      n = 50;
      while (1) {
          for (i = 1; i <= 20; i++)
              da[i] = "-";
          for (i = 1; i <= n; i++)
              ua[i] = 0;
          m = 0;
          ns = "";
          for (i = 1; i <= 12; i++) {
              pa[i] = [];
              for (j = 1; j <= 12; j++) {
                  pa[i][j] = " ";
              }
          }
          for (i = 1; i <= 12; i++) {
              pa[i][1] = "X";
          }
          for (i = 1; i <= 7; i++) {
              pa[1][i] = "X";
          }
          pa[2][7] = "X";
          if (c >= n) {
              print("YOU DID ALL THE WORDS!!\n");
              break;
          }
          do {
              q = Math.floor(n * Math.random()) + 1;
          } while (ua[q] == 1) ;
          ua[q] = 1;
          c++;
          t1 = 0;
          as = words[q - 1];
          l = as.length;
          for (i = 1; i <= as.length; i++)
              la[i] = as[i - 1];
          while (1) {
              while (1) {
                  print("HERE ARE THE LETTERS YOU USED:\n");
                  print(ns + "\n");
                  print("\n");
                  for (i = 1; i <= l; i++) {
                      print(da[i]);
                  }
                  print("\n");
                  print("\n");
                  print("WHAT IS YOUR GUESS");
                  str = await input();
                  if (ns.indexOf(str) != -1) {
                      print("YOU GUESSED THAT LETTER BEFORE!\n");
                  } else {
                      break;
                  }
              }
              ns += str;
              t1++;
              r = 0;
              for (i = 1; i <= l; i++) {
                  if (la[i] == str) {
                      da[i] = str;
                      r++;
                  }
              }
              if (r == 0) {
                  m++;
                  print("\n");
                  print("\n");
                  print("SORRY, THAT LETTER ISN'T IN THE WORD.\n");
                  switch (m) {
                      case 1:
                          print("FIRST, WE DRAW A HEAD\n");
                          break;
                      case 2:
                          print("NOW WE DRAW A BODY.\n");
                          break;
                      case 3:
                          print("NEXT WE DRAW AN ARM.\n");
                          break;
                      case 4:
                          print("THIS TIME IT'S THE OTHER ARM.\n");
                          break;
                      case 5:
                          print("NOW, LET'S DRAW THE RIGHT LEG.\n");
                          break;
                      case 6:
                          print("THIS TIME WE DRAW THE LEFT LEG.\n");
                          break;
                      case 7:
                          print("NOW WE PUT UP A HAND.\n");
                          break;
                      case 8:
                          print("NEXT THE OTHER HAND.\n");
                          break;
                      case 9:
                          print("NOW WE DRAW ONE FOOT.\n");
                          break;
                      case 10:
                          print("HERE'S THE OTHER FOOT -- YOU'RE HUNG!!\n");
                          break;
                  }
                  switch (m) {
                      case 1:
                          pa[3][6] = "-";
                          pa[3][7] = "-";
                          pa[3][8] = "-";
                          pa[4][5] = "(";
                          pa[4][6] = ".";
                          pa[4][8] = ".";
                          pa[4][9] = ")";
                          pa[5][6] = "-";
                          pa[5][7] = "-";
                          pa[5][8] = "-";
                          break;
                      case 2:
                          for (i = 6; i <= 9; i++)
                              pa[i][7] = "X";
                          break;
                      case 3:
                          for (i = 4; i <= 7; i++)
                              pa[i][i - 1] = "\\";
                          break;
                      case 4:
                          pa[4][11] = "/";
                          pa[5][10] = "/";
                          pa[6][9] = "/";
                          pa[7][8] = "/";
                          break;
                      case 5:
                          pa[10][6] = "/";
                          pa[11][5] = "/";
                          break;
                      case 6:
                          pa[10][8] = "\\";
                          pa[11][9] = "\\";
                          break;
                      case 7:
                          pa[3][11] = "\\";
                          break;
                      case 8:
                          pa[3][3] = "/";
                          break;
                      case 9:
                          pa[12][10] = "\\";
                          pa[12][11] = "-";
                          break;
                      case 10:
                          pa[12][3] = "-";
                          pa[12][4] = "/";
                          break;
                  }
                  for (i = 1; i <= 12; i++) {
                      str = "";
                      for (j = 1; j <= 12; j++)
                          str += pa[i][j];
                      print(str + "\n");
                  }
                  print("\n");
                  print("\n");
                  if (m == 10) {
                      print("SORRY, YOU LOSE.  THE WORD WAS " + as + "\n");
                      print("YOU MISSED THAT ONE.  DO YOU ");
                      break;
                  }
              } else {
                  for (i = 1; i <= l; i++)
                      if (da[i] == "-")
                          break;
                  if (i > l) {
                      print("YOU FOUND THE WORD!\n");
                      break;
                  }
                  print("\n");
                  for (i = 1; i <= l; i++)
                      print(da[i]);
                  print("\n");
                  print("\n");
                  print("WHAT IS YOUR GUESS FOR THE WORD");
                  bs = await input();
                  if (as == bs) {
                      print("RIGHT!!  IT TOOK YOU " + t1 + " GUESSES!\n");
                      break;
                  }
                  print("WRONG.  TRY ANOTHER LETTER.\n");
                  print("\n");
              }
          }
          print("WANT ANOTHER WORD");
          str = await input();
          if (str != "YES")
              break;
      }
      print("\n");
      print("IT'S BEEN FUN!  BYE FOR NOW.\n");
      // Lines 620 and 990 unused in original
  }
  
  main();
  