// ANIMAL // // 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) + "ANIMAL\n"); print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n"); print("\n"); print("\n"); print("\n"); print("PLAY 'GUESS THE ANIMAL'\n"); print("\n"); print("THINK OF AN ANIMAL AND THE COMPUTER WILL TRY TO GUESS IT.\n"); print("\n"); var k; var n; var str; var q; var z; var c; var t; var animals = [ "\\QDOES IT SWIM\\Y1\\N2\\", "\\AFISH", "\\ABIRD", ]; n = animals.length; function show_animals() { var x; print("\n"); print("ANIMALS I ALREADY KNOW ARE:\n"); str = ""; x = 0; for (var i = 0; i < n; i++) { if (animals[i].substr(0, 2) == "\\A") { while (str.length < 15 * x) str += " "; for (var z = 2; z < animals[i].length; z++) { if (animals[i][z] == "\\") break; str += animals[i][z]; } x++; if (x == 4) { x = 0; print(str + "\n"); str = ""; } } } if (str != "") print(str + "\n"); } // Main control section async function main() { while (1) { while (1) { print("ARE YOU THINKING OF AN ANIMAL"); str = await input(); if (str == "LIST") show_animals(); if (str[0] == "Y") break; } k = 0; do { // Subroutine to print questions q = animals[k]; while (1) { str = ""; for (z = 2; z < q.length; z++) { if (q[z] == "\\") break; str += q[z]; } print(str); c = await input(); if (c[0] == "Y" || c[0] == "N") break; } t = "\\" + c[0]; x = q.indexOf(t); k = parseInt(q.substr(x + 2)); } while (animals[k].substr(0,2) == "\\Q") ; print("IS IT A " + animals[k].substr(2)); a = await input(); if (a[0] == "Y") { print("WHY NOT TRY ANOTHER ANIMAL?\n"); continue; } print("THE ANIMAL YOU WERE THINKING OF WAS A "); v = await input(); print("PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A\n"); print(v + " FROM A " + animals[k].substr(2) + "\n"); x = await input(); while (1) { print("FOR A " + v + " THE ANSWER WOULD BE "); a = await input(); a = a.substr(0, 1); if (a == "Y" || a == "N") break; } if (a == "Y") b = "N"; if (a == "N") b = "Y"; z1 = animals.length; animals[z1] = animals[k]; animals[z1 + 1] = "\\A" + v; animals[k] = "\\Q" + x + "\\" + a + (z1 + 1) + "\\" + b + z1 + "\\"; } } main();