From f78a4457aa9c3b65a53f05c1513720bf0820c5b7 Mon Sep 17 00:00:00 2001 From: nanochess Date: Sat, 27 Feb 2021 21:48:52 -0600 Subject: [PATCH] Ported HANGMAN and HELLO to Javascript --- 44 Hangman/javascript/hangman.html | 9 + 44 Hangman/javascript/hangman.js | 266 +++++++++++++++++++++++++++++ 45 Hello/javascript/hello.html | 9 + 45 Hello/javascript/hello.js | 163 ++++++++++++++++++ 4 files changed, 447 insertions(+) create mode 100644 44 Hangman/javascript/hangman.html create mode 100644 44 Hangman/javascript/hangman.js create mode 100644 45 Hello/javascript/hello.html create mode 100644 45 Hello/javascript/hello.js diff --git a/44 Hangman/javascript/hangman.html b/44 Hangman/javascript/hangman.html new file mode 100644 index 00000000..7bf3d250 --- /dev/null +++ b/44 Hangman/javascript/hangman.html @@ -0,0 +1,9 @@ + + +HANGMAN + + +

+
+
+
diff --git a/44 Hangman/javascript/hangman.js b/44 Hangman/javascript/hangman.js
new file mode 100644
index 00000000..322fd94f
--- /dev/null
+++ b/44 Hangman/javascript/hangman.js	
@@ -0,0 +1,266 @@
+// 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();
diff --git a/45 Hello/javascript/hello.html b/45 Hello/javascript/hello.html
new file mode 100644
index 00000000..ac6fe180
--- /dev/null
+++ b/45 Hello/javascript/hello.html	
@@ -0,0 +1,9 @@
+
+
+HELLO
+
+
+

+
+
+
diff --git a/45 Hello/javascript/hello.js b/45 Hello/javascript/hello.js
new file mode 100644
index 00000000..d79b15f8
--- /dev/null
+++ b/45 Hello/javascript/hello.js	
@@ -0,0 +1,163 @@
+// HELLO
+//
+// 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;
+}
+
+// Main control section
+async function main()
+{
+    print(tab(33) + "HELLO\n");
+    print(tab(15) + "CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY\n");
+    print("\n");
+    print("\n");
+    print("\n");
+    print("HELLO.  MY NAME IS CREATIVE COMPUTER.\n");
+    print("\n");
+    print("\n");
+    print("WHAT'S YOUR NAME");
+    ns = await input();
+    print("\n");
+    print("HI THERE, " + ns + ", ARE YOU ENJOYING YOURSELF HERE");
+    while (1) {
+        bs = await input();
+        print("\n");
+        if (bs == "YES") {
+            print("I'M GLAD TO HEAR THAT, " + ns + ".\n");
+            print("\n");
+            break;
+        } else if (bs == "NO") {
+            print("OH, I'M SORRY TO HEAR THAT, " + ns + ". MAYBE WE CAN\n");
+            print("BRIGHTEN UP YOUR VISIT A BIT.\n");
+            break;
+        } else {
+            print("PLEASE ANSWER 'YES' OR 'NO'.  DO YOU LIKE IT HERE");
+        }
+    }
+    print("\n");
+    print("SAY, " + ns + ", I CAN SOLVED ALL KINDS OF PROBLEMS EXCEPT\n");
+    print("THOSE DEALING WITH GREECE.  WHAT KIND OF PROBLEMS DO\n");
+    print("YOU HAVE (ANSWER SEX, HEALTH, MONEY, OR JOB)");
+    while (1) {
+        cs = await input();
+        print("\n");
+        if (cs != "SEX" && cs != "HEALTH" && cs != "MONEY" && cs != "JOB") {
+            print("OH, " + ns + ", YOUR ANSWER OF " + cs + " IS GREEK TO ME.\n");
+        } else if (cs == "JOB") {
+            print("I CAN SYMPATHIZE WITH YOU " + ns + ".  I HAVE TO WORK\n");
+            print("VERY LONG HOURS FOR NO PAY -- AND SOME OF MY BOSSES\n");
+            print("REALLY BEAT ON MY KEYBOARD.  MY ADVICE TO YOU, " + ns + ",\n");
+            print("IS TO OPEN A RETAIL COMPUTER STORE.  IT'S GREAT FUN.\n");
+        } else if (cs == "MONEY") {
+            print("SORRY, " + ns + ", I'M BROKE TOO.  WHY DON'T YOU SELL\n");
+            print("ENCYCLOPEADIAS OR MARRY SOMEONE RICH OR STOP EATING\n");
+            print("SO YOU WON'T NEED SO MUCH MONEY?\n");
+        } else if (cs == "HEALTH") {
+            print("MY ADVICE TO YOU " + ns + " IS:\n");
+            print("     1.  TAKE TWO ASPRIN\n");
+            print("     2.  DRINK PLENTY OF FLUIDS (ORANGE JUICE, NOT BEER!)\n");
+            print("     3.  GO TO BED (ALONE)\n");
+        } else {
+            print("IS YOUR PROBLEM TOO MUCH OR TOO LITTLE");
+            while (1) {
+                ds = await input();
+                print("\n");
+                if (ds == "TOO MUCH") {
+                    print("YOU CALL THAT A PROBLEM?!!  I SHOULD HAVE SUCH PROBLEMS!\n");
+                    print("IF IT BOTHERS YOU, " + ns + ", TAKE A COLD SHOWER.\n");
+                    break;
+                } else if (ds == "TOO LITTLE") {
+                    print("WHY ARE YOU HERE IN SUFFERN, " + ns + "?  YOU SHOULD BE\n");
+                    print("IN TOKYO OR NEW YORK OR AMSTERDAM OR SOMEPLACE WITH SOME\n");
+                    print("REAL ACTION.\n");
+                    break;
+                } else {
+                    print("DON'T GET ALL SHOOK, " + ns + ", JUST ANSWER THE QUESTION\n");
+                    print("WITH 'TOO MUCH' OR 'TOO LITTLE'.  WHICH IS IT");
+                }
+            }
+        }
+        print("\n");
+        print("ANY MORE PROBLEMS YOU WANT SOLVED, " + ns);
+        es = await input();
+        print("\n");
+        if (es == "YES") {
+            print("WHAT KIND (SEX, MONEY, HEALTH, JOB)");
+        } else if (es == "NO") {
+            print("THAT WILL BE $5.00 FOR THE ADVICE, " + ns + ".\n");
+            print("PLEASE LEAVE THE MONEY ON THE TERMINAL.\n");
+            print("\n");
+//            d = new Date().valueOf();
+//            while (new Date().valueOf() - d < 2000) ;
+            print("\n");
+            print("\n");
+            while (1) {
+                print("DID YOU LEAVE THE MONEY");
+                gs = await input();
+                print("\n");
+                if (gs == "YES") {
+                    print("HEY, " + ns + "??? YOU LEFT NO MONEY AT ALL!\n");
+                    print("YOU ARE CHEATING ME OUT OF MY HARD-EARNED LIVING.\n");
+                    print("\n");
+                    print("WHAT A RIP OFF, " + ns + "!!!\n");
+                    print("\n");
+                    break;
+                } else if (gs == "NO") {
+                    print("THAT'S HONEST, " + ns + ", BUT HOW DO YOU EXPECT\n");
+                    print("ME TO GO ON WITH MY PSYCHOLOGY STUDIES IF MY PATIENT\n");
+                    print("DON'T PAY THEIR BILLS?\n");
+                    break;
+                } else {
+                    print("YOUR ANSWER OF '" + gs + "' CONFUSES ME, " + ns + ".\n");
+                    print("PLEASE RESPOND WITH 'YES' OR 'NO'.\n");
+                }
+            }
+            break;
+        }
+    }
+    print("\n");
+    print("TAKE A WALK, " + ns + ".\n");
+    print("\n");
+    print("\n");
+    // Line 390 not used in original
+}
+
+main();