From 4e0559a193f0791d2b7aae794faba3f67286941e Mon Sep 17 00:00:00 2001 From: nanochess Date: Sat, 27 Feb 2021 17:39:48 -0600 Subject: [PATCH] Ported POETRY to Javascript --- 70 Poetry/javascript/poetry.html | 9 ++ 70 Poetry/javascript/poetry.js | 173 +++++++++++++++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 70 Poetry/javascript/poetry.html create mode 100644 70 Poetry/javascript/poetry.js diff --git a/70 Poetry/javascript/poetry.html b/70 Poetry/javascript/poetry.html new file mode 100644 index 00000000..01dd59bf --- /dev/null +++ b/70 Poetry/javascript/poetry.html @@ -0,0 +1,9 @@ + + +POETRY + + +

+
+
+
diff --git a/70 Poetry/javascript/poetry.js b/70 Poetry/javascript/poetry.js
new file mode 100644
index 00000000..885f1921
--- /dev/null
+++ b/70 Poetry/javascript/poetry.js	
@@ -0,0 +1,173 @@
+// POETRY
+//
+// 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 program
+async function main()
+{
+    print(tab(30) + "POETRY\n");
+    print(tab(15) + "CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY\n");
+    print("\n");
+    print("\n");
+    print("\n");
+    
+    times = 0;
+    
+    i = 1;
+    j = 1;
+    k = 0;
+    u = 0;
+    while (1) {
+        if (j == 1) {
+            switch (i) {
+                case 1:
+                    print("MIDNIGHT DREARY");
+                    break;
+                case 2:
+                    print("FIERY EYES");
+                    break;
+                case 3:
+                    print("BIRD OF FIEND");
+                    break;
+                case 4:
+                    print("THING OF EVIL");
+                    break;
+                case 5:
+                    print("PROPHET");
+                    break;
+            }
+        } else if (j == 2) {
+            switch (i) {
+                case 1:
+                    print("BEGUILING ME");
+                    u = 2;
+                    break;
+                case 2:
+                    print("THRILLED ME");
+                    break;
+                case 3:
+                    print("STILL SITTING....");
+                    u = 0;
+                    break;
+                case 4:
+                    print("NEVER FLITTING");
+                    u = 2;
+                    break;
+                case 5:
+                    print("BURNED");
+                    break;
+            }
+        } else if (j == 3) {
+            switch (i) {
+                case 1:
+                    print("AND MY SOUL");
+                    break;
+                case 2:
+                    print("DARKNESS THERE");
+                    break;
+                case 3:
+                    print("SHALL BE LIFTED");
+                    break;
+                case 4:
+                    print("QUOTH THE RAVEN");
+                    break;
+                case 5:
+                    if (u == 0)
+                        break;
+                    print("SIGN OF PARTING");
+                    break;
+            }
+        } else if (j == 4) {
+            switch (i) {
+                case 1:
+                    print("NOTHING MORE");
+                    break;
+                case 2:
+                    print("YET AGAIN");
+                    break;
+                case 3:
+                    print("SLOWLY CREEPING");
+                    break;
+                case 4:
+                    print("...EVERMORE");
+                    break;
+                case 5:
+                    print("NEVERMORE");
+                    break;
+            }
+        }
+        if (u != 0 && Math.random() <= 0.19) {
+            print(",");
+            u = 2;
+        }
+        if (Math.random() <= 0.65) {
+            print(" ");
+            u++;
+        } else {
+            print("\n");
+            u = 0;
+        }
+        while (1) {
+            i = Math.floor(Math.floor(10 * Math.random()) / 2) + 1;
+            j++;
+            k++;
+            if (u == 0 && j % 2 == 0)
+                print("     ");
+            if (j != 5)
+                break;
+            j = 0;
+            print("\n");
+            if (k <= 20)
+                continue;
+            print("\n");
+            u = 0;
+            k = 0;
+            j = 2;
+            break;
+        }
+        if (u == 0 && k == 0 && j == 2 && ++times == 10)
+            break;
+    }
+}
+
+main();