From 7c84cffa52f459aad8401908a0c2d62d1d1dc92a Mon Sep 17 00:00:00 2001 From: nanochess Date: Tue, 2 Mar 2021 12:56:23 -0600 Subject: [PATCH 1/2] Ported ORBIT to Javascript --- 68 Orbit/javascript/orbit.html | 9 ++ 68 Orbit/javascript/orbit.js | 155 +++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 68 Orbit/javascript/orbit.html create mode 100644 68 Orbit/javascript/orbit.js diff --git a/68 Orbit/javascript/orbit.html b/68 Orbit/javascript/orbit.html new file mode 100644 index 00000000..b5ea3982 --- /dev/null +++ b/68 Orbit/javascript/orbit.html @@ -0,0 +1,9 @@ + + +ORBIT + + +

+
+
+
diff --git a/68 Orbit/javascript/orbit.js b/68 Orbit/javascript/orbit.js
new file mode 100644
index 00000000..fc505bdf
--- /dev/null
+++ b/68 Orbit/javascript/orbit.js	
@@ -0,0 +1,155 @@
+// ORBIT
+//
+// 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;
+}
+
+var a = [];
+
+// Main program
+async function main()
+{
+    print(tab(33) + "ORBIT\n");
+    print(tab(15) + "CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY\n");
+    print("\n");
+    print("\n");
+    print("\n");
+    print("SOMEWHERE ABOVE YOUR PLANET IS A ROMULAN SHIP.\n");
+    print("\n");
+    print("THE SHIP IS IN A CONSTANT POLAR ORBIT.  ITS\n");
+    print("DISTANCE FROM THE CENTER OF YOUR PLANET IS FROM\n");
+    print("10,000 TO 30,000 MILES AND AT ITS PRESENT VELOCITY CAN\n");
+    print("CIRCLE YOUR PLANET ONCE EVERY 12 TO 36 HOURS.\n");
+    print("\n");
+    print("UNFORTUNATELY, THEY ARE USING A CLOAKING DEVICE SO\n");
+    print("YOU ARE UNABLE TO SEE THEM, BUT WITH A SPECIAL\n");
+    print("INSTRUMENT YOU CAN TELL HOW NEAR THEIR SHIP YOUR\n");
+    print("PHOTON BOMB EXPLODED.  YOU HAVE SEVEN HOURS UNTIL THEY\n");
+    print("HAVE BUILT UP SUFFICIENT POWER IN ORDER TO ESCAPE\n");
+    print("YOUR PLANET'S GRAVITY.\n");
+    print("\n");
+    print("YOUR PLANET HAS ENOUGH POWER TO FIRE ONE BOMB AN HOUR.\n");
+    print("\n");
+    print("AT THE BEGINNING OF EACH HOUR YOU WILL BE ASKED TO GIVE AN\n");
+    print("ANGLE (BETWEEN 0 AND 360) AND A DISTANCE IN UNITS OF\n");
+    print("100 MILES (BETWEEN 100 AND 300), AFTER WHICH YOUR BOMB'S\n");
+    print("DISTANCE FROM THE ENEMY SHIP WILL BE GIVEN.\n");
+    print("\n");
+    print("AN EXPLOSION WITHIN 5,000 MILES OF THE ROMULAN SHIP\n");
+    print("WILL DESTROY IT.\n");
+    print("\n");
+    print("BELOW IS A DIAGRAM TO HELP YOU VISUALIZE YOUR PLIGHT.\n");
+    print("\n");
+    print("\n");
+    print("                          90\n");
+    print("                    0000000000000\n");
+    print("                 0000000000000000000\n");
+    print("               000000           000000\n");
+    print("             00000                 00000\n");
+    print("            00000    XXXXXXXXXXX    00000\n");
+    print("           00000    XXXXXXXXXXXXX    00000\n");
+    print("          0000     XXXXXXXXXXXXXXX     0000\n");
+    print("         0000     XXXXXXXXXXXXXXXXX     0000\n");
+    print("        0000     XXXXXXXXXXXXXXXXXXX     0000\n");
+    print("180<== 00000     XXXXXXXXXXXXXXXXXXX     00000 ==>0\n");
+    print("        0000     XXXXXXXXXXXXXXXXXXX     0000\n");
+    print("         0000     XXXXXXXXXXXXXXXXX     0000\n");
+    print("          0000     XXXXXXXXXXXXXXX     0000\n");
+    print("           00000    XXXXXXXXXXXXX    00000\n");
+    print("            00000    XXXXXXXXXXX    00000\n");
+    print("             00000                 00000\n");
+    print("               000000           000000\n");
+    print("                 0000000000000000000\n");
+    print("                    0000000000000\n");
+    print("                         270\n");
+    print("\n");
+    print("X - YOUR PLANET\n");
+    print("O - THE ORBIT OF THE ROMULAN SHIP\n");
+    print("\n");
+    print("ON THE ABOVE DIAGRAM, THE ROMULAN SHIP IS CIRCLING\n");
+    print("COUNTERCLOCKWISE AROUND YOUR PLANET.  DON'T FORGET THAT\n");
+    print("WITHOUT SUFFICIENT POWER THE ROMULAN SHIP'S ALTITUDE\n");
+    print("AND ORBITAL RATE WILL REMAIN CONSTANT.\n");
+    print("\n");
+    print("GOOD LUCK.  THE FEDERATION IS COUNTING ON YOU.\n");
+    while (1) {
+        a = Math.floor(360 * Math.random());
+        d = Math.floor(200 * Math.random() + 200);
+        r = Math.floor(20 * Math.random() + 10);
+        h = 0;
+        while (h < 7) {
+            print("\n");
+            print("\n");
+            print("THIS IS HOUR " + (h + 1) + ", AT WHAT ANGLE DO YOU WISH TO SEND\n");
+            print("YOUR PHOTON BOMB");
+            a1 = parseFloat(await input());
+            print("HOW FAR OUT DO YOU WISH TO DETONATE IT");
+            d1 = parseFloat(await input());
+            print("\n");
+            print("\n");
+            a += r;
+            if (a >= 360)
+                a -= 360;
+            t = Math.abs(a - a1);
+            if (t >= 180)
+                t = 360 - t;
+            c = Math.sqrt(d * d + d1 * d1 - 2 * d * d1 * Math.cos(t * Math.PI / 180));
+            print("YOUR PHOTON BOMB EXPLODED " + c + "*10^2 MILES FROM THE\n");
+            print("ROMULAN SHIP.\n");
+            if (c <= 50)
+                break;
+            h++;
+        }
+        if (h == 7) {
+            print("YOU HAVE ALLOWED THE ROMULANS TO ESCAPE.\n");
+        } else {
+            print("YOU HAVE SUCCESSFULLY COMPLETED YOUR MISSION.\n");
+        }
+        print("ANOTHER ROMULAN SHIP HAS GONE INTO ORBIT.\n");
+        print("DO YOU WISH TO TRY TO DESTROY IT");
+        str = await input();
+        if (str != "YES")
+            break;
+    }
+    print("GOOD BYE.\n");
+}
+
+main();

From b37295be0aab93367e07f06a81e47e051306ea2e Mon Sep 17 00:00:00 2001
From: nanochess 
Date: Tue, 2 Mar 2021 13:13:44 -0600
Subject: [PATCH 2/2] Ported PIZZA to Javascript

---
 69 Pizza/javascript/pizza.html |   9 ++
 69 Pizza/javascript/pizza.js   | 155 +++++++++++++++++++++++++++++++++
 2 files changed, 164 insertions(+)
 create mode 100644 69 Pizza/javascript/pizza.html
 create mode 100644 69 Pizza/javascript/pizza.js

diff --git a/69 Pizza/javascript/pizza.html b/69 Pizza/javascript/pizza.html
new file mode 100644
index 00000000..30134499
--- /dev/null
+++ b/69 Pizza/javascript/pizza.html	
@@ -0,0 +1,9 @@
+
+
+PIZZA
+
+
+

+
+
+
diff --git a/69 Pizza/javascript/pizza.js b/69 Pizza/javascript/pizza.js
new file mode 100644
index 00000000..ba7fe578
--- /dev/null
+++ b/69 Pizza/javascript/pizza.js	
@@ -0,0 +1,155 @@
+// PIZZA
+//
+// 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;
+}
+
+var sa = [, "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P"];
+var ma = [, "1","2","3","4"];
+var a = [];
+
+// Main program
+async function main()
+{
+    print(tab(33) + "PIZZA\n");
+    print(tab(15) + "CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY\n");
+    print("\n");
+    print("\n");
+    print("\n");
+    print("PIZZA DELIVERY GAME\n");
+    print("\n");
+    print("WHAT IS YOUR FIRST NAME");
+    ns = await input();
+    print("\n");
+    print("HI, " + ns + ". IN THIS GAME YOU ARE TO TAKE ORDERS\n");
+    print("FOR PIZZAS.  THEN YOU ARE TO TELL A DELIVERY BOY\n");
+    print("WHERE TO DELIVER THE ORDERED PIZZAS.\n");
+    print("\n");
+    print("\n");
+    print("MAP OF THE CITY OF HYATTSVILLE\n");
+    print("\n");
+    print(" -----1-----2-----3-----4-----\n");
+    k = 4;
+    for (i = 1; i <= 4; i++) {
+        print("-\n");
+        print("-\n");
+        print("-\n");
+        print("-\n");
+        print(ma[k]);
+        s1 = 16 - 4 * i + 1;
+        print("     " + sa[s1] + "     " + sa[s1 + 1] + "     " + sa[s1 + 2] + "     ");
+        print(sa[s1 + 3] + "     " + ma[k] + "\n");
+        k--;
+    }
+    print("-\n");
+    print("-\n");
+    print("-\n");
+    print("-\n");
+    print(" -----1-----2-----3-----4-----\n");
+    print("\n");
+    print("THE OUTPUT IS A MAP OF THE HOMES WHERE\n");
+    print("YOU ARE TO SEND PIZZAS.\n");
+    print("\n");
+    print("YOUR JOB IS TO GIVE A TRUCK DRIVER\n");
+    print("THE LOCATION OR COORDINATES OF THE\n");
+    print("HOME ORDERING THE PIZZA.\n");
+    print("\n");
+    while (1) {
+        print("DO YOU NEED MORE DIRECTIONS");
+        str = await input();
+        if (str == "YES" || str == "NO")
+            break;
+        print("'YES' OR 'NO' PLEASE, NOW THEN, ");
+    }
+    if (str == "YES") {
+        print("\n");
+        print("SOMEBODY WILL ASK FOR A PIZZA TO BE\n");
+        print("DELIVERED.  THEN A DELIVERY BOY WILL\n");
+        print("ASK YOU FOR THE LOCATION.\n");
+        print("     EXAMPLE:\n");
+        print("THIS IS J.  PLEASE SEND A PIZZA.\n");
+        print("DRIVER TO " + ns + ".  WHERE DOES J LIVE?\n");
+        print("YOUR ANSWER WOULD BE 2,3\n");
+        print("\n");
+        print("UNDERSTAND");
+        str = await input();
+        if (str != "YES") {
+            print("THIS JOB IS DEFINITELY TOO DIFFICULT FOR YOU. THANKS ANYWAY");
+            return;
+        }
+        print("GOOD.  YOU ARE NOW READY TO START TAKING ORDERS.\n");
+        print("\n");
+        print("GOOD LUCK!!\n");
+        print("\n");
+    }
+    while (1) {
+        for (i = 1; i <= 5; i++) {
+            s = Math.floor(Math.random() * 16 + 1);
+            print("\n");
+            print("HELLO " + ns + "'S PIZZA.  THIS IS " + sa[s] + ".\n");
+            print("  PLEASE SEND A PIZZA.\n");
+            while (1) {
+                print("  DRIVER TO " + ns + ":  WHERE DOES " + sa[s] + " LIVE");
+                str = await input();
+                a[1] = parseInt(str);
+                a[2] = parseInt(str.substr(str.indexOf(",") + 1));
+                t = a[1] + (a[2] - 1) * 4;
+                if (t != s) {
+                    print("THIS IS " + sa[t] + ". I DID NOT ORDER A PIZZA.\n");
+                    print("I LIVE AT " + a[1] + "," + a[2] + "\n");
+                } else {
+                    break;
+                }
+            }
+            print("HELLO " + ns + ".  THIS IS " + sa[s] + ", THANKS FOR THE PIZZA.\n");
+        }
+        print("\n");
+        print("DO YOU WANT TO DELIVER MORE PIZZAS");
+        str = await input();
+        if (str != "YES")
+            break;
+    }
+    print("\n");
+    print("O.K. " + ns + ", SEE YOU LATER!\n");
+    print("\n");
+}
+
+main();