mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-26 04:41:52 -08:00
Ported HURKLE, KINEMA, LETTER, LITQUIZ, LOVE, and MATHDICE to Javascript
This commit is contained in:
9
51 Hurkle/javascript/hurkle.html
Normal file
9
51 Hurkle/javascript/hurkle.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>HURKLE</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="output" style="font-size: 12pt;"></pre>
|
||||
<script src="hurkle.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
102
51 Hurkle/javascript/hurkle.js
Normal file
102
51 Hurkle/javascript/hurkle.js
Normal file
@@ -0,0 +1,102 @@
|
||||
// BATNUM
|
||||
//
|
||||
// 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(33) + "HURKLE\n");
|
||||
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
n = 5;
|
||||
g = 10;
|
||||
print("\n");
|
||||
print("A HURKLE IS HIDING ON A " + g + " BY " + g + " GRID. HOMEBASE\n");
|
||||
print("ON THE GRID IS POINT 0,0 IN THE SOUTHWEST CORNER,\n");
|
||||
print("AND ANY POINT ON THE GRID IS DESIGNATED BY A\n");
|
||||
print("PAIR OF WHOLE NUMBERS SEPERATED BY A COMMA. THE FIRST\n");
|
||||
print("NUMBER IS THE HORIZONTAL POSITION AND THE SECOND NUMBER\n");
|
||||
print("IS THE VERTICAL POSITION. YOU MUST TRY TO\n");
|
||||
print("GUESS THE HURKLE'S GRIDPOINT. YOU GET " + n + " TRIES.\n");
|
||||
print("AFTER EACH TRY, I WILL TELL YOU THE APPROXIMATE\n");
|
||||
print("DIRECTION TO GO TO LOOK FOR THE HURKLE.\n");
|
||||
print("\n");
|
||||
while (1) {
|
||||
a = Math.floor(g * Math.random());
|
||||
b = Math.floor(g * Math.random());
|
||||
for (k = 1; k <= n; k++) {
|
||||
print("GUESS #" + k + " ");
|
||||
str = await input();
|
||||
x = parseInt(str);
|
||||
y = parseInt(str.substr(str.indexOf(",") + 1));
|
||||
if (x == a && y == b) {
|
||||
print("\n");
|
||||
print("YOU FOUND HIM IN " + k + " GUESSES!\n");
|
||||
break;
|
||||
}
|
||||
print("GO ");
|
||||
if (y < b) {
|
||||
print("NORTH");
|
||||
} else if (y > b) {
|
||||
print("SOUTH");
|
||||
}
|
||||
if (x < a) {
|
||||
print("EAST\n");
|
||||
} else {
|
||||
print("WEST\n");
|
||||
}
|
||||
}
|
||||
if (k > n) {
|
||||
print("\n");
|
||||
print("SORRY, THAT'S " + n + " GUESSES.\n");
|
||||
print("THE HURKLE IS AT " + a + "," + b + "\n");
|
||||
}
|
||||
print("\n");
|
||||
print("LET'S PLAY AGAIN, HURKLE IS HIDING.\n");
|
||||
print("\n");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
9
52 Kinema/javascript/kinema.html
Normal file
9
52 Kinema/javascript/kinema.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>KINEMA</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="output" style="font-size: 12pt;"></pre>
|
||||
<script src="kinema.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
95
52 Kinema/javascript/kinema.js
Normal file
95
52 Kinema/javascript/kinema.js
Normal file
@@ -0,0 +1,95 @@
|
||||
// KINEMA
|
||||
//
|
||||
// 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 q;
|
||||
|
||||
function evaluate_answer(str, a)
|
||||
{
|
||||
g = parseFloat(str);
|
||||
if (Math.abs((g - a) / a) < 0.15) {
|
||||
print("CLOSE ENOUGH.\n");
|
||||
q++;
|
||||
} else {
|
||||
print("NOT EVEN CLOSE....\n");
|
||||
}
|
||||
print("CORRECT ANSWER IS " + a + "\n\n");
|
||||
}
|
||||
|
||||
// Main program
|
||||
async function main()
|
||||
{
|
||||
print(tab(33) + "KINEMA\n");
|
||||
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
while (1) {
|
||||
print("\n");
|
||||
print("\n");
|
||||
q = 0;
|
||||
v = 5 + Math.floor(35 * Math.random());
|
||||
print("A BALL IS THROWN UPWARDS AT " + v + " METERS PER SECOND.\n");
|
||||
print("\n");
|
||||
a = 0.5 * Math.pow(v, 2);
|
||||
print("HOW HIGH WILL IT GO (IN METERS)");
|
||||
str = await input();
|
||||
evaluate_answer(str, a);
|
||||
a = v / 5;
|
||||
print("HOW LONG UNTIL IT RETURNS (IN SECONDS)");
|
||||
str = await input();
|
||||
evaluate_answer(str, a);
|
||||
t = 1 + Math.floor(2 * v * Math.random()) / 10;
|
||||
a = v - 10 * t;
|
||||
print("WHAT WILL ITS VELOCITY BE AFTER " + t + " SECONDS");
|
||||
str = await input();
|
||||
evaluate_answer(str, a);
|
||||
print("\n");
|
||||
print(q + " RIGHT OUT OF 3.");
|
||||
if (q < 2)
|
||||
continue;
|
||||
print(" NOT BAD.\n");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
9
54 Letter/javascript/letter.html
Normal file
9
54 Letter/javascript/letter.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LETTER</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="output" style="font-size: 12pt;"></pre>
|
||||
<script src="letter.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
91
54 Letter/javascript/letter.js
Normal file
91
54 Letter/javascript/letter.js
Normal file
@@ -0,0 +1,91 @@
|
||||
// LETTER
|
||||
//
|
||||
// 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(33) + "LETTER\n");
|
||||
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("LETTER GUESSING GAME\n");
|
||||
print("\n");
|
||||
print("I'LL THINK OF A LETTER OF THE ALPHABET, A TO Z.\n");
|
||||
print("TRY TO GUESS MY LETTER AND I'LL GIVE YOU CLUES\n");
|
||||
print("AS TO HOW CLOSE YOU'RE GETTING TO MY LETTER.\n");
|
||||
while (1) {
|
||||
l = 65 + Math.floor(26 * Math.random());
|
||||
g = 0;
|
||||
print("\n");
|
||||
print("O.K., I HAVE A LETTER. START GUESSING.\n");
|
||||
while (1) {
|
||||
|
||||
print("\n");
|
||||
print("WHAT IS YOUR GUESS");
|
||||
g++;
|
||||
str = await input();
|
||||
a = str.charCodeAt(0);
|
||||
print("\n");
|
||||
if (a == l)
|
||||
break;
|
||||
if (a < l) {
|
||||
print("TOO LOW. TRY A HIGHER LETTER.\n");
|
||||
} else {
|
||||
print("TOO HIGH. TRY A LOWER LETTER.\n");
|
||||
}
|
||||
}
|
||||
print("\n");
|
||||
print("YOU GOT IT IN " + g + " GUESSES!!\n");
|
||||
if (g > 5) {
|
||||
print("BUT IT SHOULDN'T TAKE MORE THAN 5 GUESSES!\n");
|
||||
} else {
|
||||
print("GOOD JOB !!!!!\n");
|
||||
}
|
||||
print("\n");
|
||||
print("LET'S PLAY AGAIN.....");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
9
57 Literature Quiz/javascript/litquiz.html
Normal file
9
57 Literature Quiz/javascript/litquiz.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LITERATURE QUIZ</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="output" style="font-size: 12pt;"></pre>
|
||||
<script src="litquiz.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
119
57 Literature Quiz/javascript/litquiz.js
Normal file
119
57 Literature Quiz/javascript/litquiz.js
Normal file
@@ -0,0 +1,119 @@
|
||||
// LITQUIZ
|
||||
//
|
||||
// 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(25) + "LITERATURE QUIZ\n");
|
||||
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
r = 0;
|
||||
print("TEST YOUR KNOWLEDGE OF CHILDREN'S LITERATURE.\n");
|
||||
print("\n");
|
||||
print("THIS IS A MULTIPLE-CHOICE QUIZ.\n");
|
||||
print("TYPE A 1, 2, 3, OR 4 AFTER THE QUESTION MARK.\n");
|
||||
print("\n");
|
||||
print("GOOD LUCK!\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("IN PINOCCHIO, WHAT WAS THE NAME OF THE CAT\n");
|
||||
print("1)TIGGER, 2)CICERO, 3)FIGARO, 4)GUIPETTO\n");
|
||||
a = parseInt(await input());
|
||||
if (a == 3) {
|
||||
print("VERY GOOD! HERE'S ANOTHER.\n");
|
||||
r++;
|
||||
} else {
|
||||
print("SORRY...FIGARO WAS HIS NAME.\n");
|
||||
}
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("FROM WHOSE GARDEN DID BUGS BUNNY STEAL THE CARROTS?\n");
|
||||
print("1)MR. NIXON'S, 2)ELMER FUDD'S, 3)CLEM JUDD'S, 4)STROMBOLI'S\n");
|
||||
a = parseInt(await input());
|
||||
if (a == 2) {
|
||||
print("PRETTY GOOD!\n");
|
||||
r++;
|
||||
} else {
|
||||
print("TOO BAD...IT WAS ELMER FUDD'S GARDEN.\n");
|
||||
}
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("IN THE WIZARD OF OS, DOROTHY'S DOG WAS NAMED\n");
|
||||
print("1)CICERO, 2)TRIXIA, 3)KING, 4)TOTO\n");
|
||||
a = parseInt(await input());
|
||||
if (a == 4) {
|
||||
print("YEA! YOU'RE A REAL LITERATURE GIANT.\n");
|
||||
r++;
|
||||
} else {
|
||||
print("BACK TO THE BOOKS,...TOTO WAS HIS NAME.\n");
|
||||
}
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("WHO WAS THE FAIR MAIDEN WHO ATE THE POISON APPLE\n");
|
||||
print("1)SLEEPING BEAUTY, 2)CINDERELLA, 3)SNOW WHITE, 4)WENDY\n");
|
||||
a = parseInt(await input());
|
||||
if (a == 3) {
|
||||
print("GOOD MEMORY!\n");
|
||||
r++;
|
||||
} else {
|
||||
print("OH, COME ON NOW...IT WAS SNOW WHITE.\n");
|
||||
}
|
||||
print("\n");
|
||||
print("\n");
|
||||
if (r == 4) {
|
||||
print("WOW! THAT'S SUPER! YOU REALLY KNOW YOUR NURSERY\n");
|
||||
print("YOUR NEXT QUIZ WILL BE ON 2ND CENTURY CHINESE\n");
|
||||
print("LITERATURE (HA, HA, HA)\n");
|
||||
} else if (r < 2) {
|
||||
print("UGH. THAT WAS DEFINITELY NOT TOO SWIFT. BACK TO\n");
|
||||
print("NURSERY SCHOOL FOR YOU, MY FRIEND.\n");
|
||||
} else {
|
||||
print("NOT BAD, BUT YOU MIGHT SPEND A LITTLE MORE TIME\n");
|
||||
print("READING THE NURSERY GREATS.\n");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
9
58 Love/javascript/love.html
Normal file
9
58 Love/javascript/love.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LOVE</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="output" style="font-size: 12pt;"></pre>
|
||||
<script src="love.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
105
58 Love/javascript/love.js
Normal file
105
58 Love/javascript/love.js
Normal file
@@ -0,0 +1,105 @@
|
||||
// LOVE
|
||||
//
|
||||
// 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 data = [60,1,12,26,9,12,3,8,24,17,8,4,6,23,21,6,4,6,22,12,5,6,5,
|
||||
4,6,21,11,8,6,4,4,6,21,10,10,5,4,4,6,21,9,11,5,4,
|
||||
4,6,21,8,11,6,4,4,6,21,7,11,7,4,4,6,21,6,11,8,4,
|
||||
4,6,19,1,1,5,11,9,4,4,6,19,1,1,5,10,10,4,4,6,18,2,1,6,8,11,4,
|
||||
4,6,17,3,1,7,5,13,4,4,6,15,5,2,23,5,1,29,5,17,8,
|
||||
1,29,9,9,12,1,13,5,40,1,1,13,5,40,1,4,6,13,3,10,6,12,5,1,
|
||||
5,6,11,3,11,6,14,3,1,5,6,11,3,11,6,15,2,1,
|
||||
6,6,9,3,12,6,16,1,1,6,6,9,3,12,6,7,1,10,
|
||||
7,6,7,3,13,6,6,2,10,7,6,7,3,13,14,10,8,6,5,3,14,6,6,2,10,
|
||||
8,6,5,3,14,6,7,1,10,9,6,3,3,15,6,16,1,1,
|
||||
9,6,3,3,15,6,15,2,1,10,6,1,3,16,6,14,3,1,10,10,16,6,12,5,1,
|
||||
11,8,13,27,1,11,8,13,27,1,60];
|
||||
|
||||
// Main program
|
||||
async function main()
|
||||
{
|
||||
print(tab(33) + "LOVE\n");
|
||||
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("A TRIBUTE TO THE GREAT AMERICAN ARTIST, ROBERT INDIANA.\n");
|
||||
print("HIS GREATEST WORK WILL BE REPRODUCED WITH A MESSAGE OF\n");
|
||||
print("YOUR CHOICE UP TO 60 CHARACTERS. IF YOU CAN'T THINK OF\n");
|
||||
print("A MESSAGE, SIMPLE TYPE THE WORD 'LOVE'\n");
|
||||
print("\n");
|
||||
print("YOUR MESSAGE, PLEASE");
|
||||
str = await input();
|
||||
l = str.length;
|
||||
ts = [];
|
||||
for (i = 1; i <= 10; i++)
|
||||
print("\n");
|
||||
ts = "";
|
||||
do {
|
||||
ts += str;
|
||||
} while (ts.length < 60) ;
|
||||
pos = 0;
|
||||
c = 0;
|
||||
while (++c < 37) {
|
||||
a1 = 1;
|
||||
p = 1;
|
||||
print("\n");
|
||||
do {
|
||||
a = data[pos++];
|
||||
a1 += a;
|
||||
if (p != 1) {
|
||||
for (i = 1; i <= a; i++)
|
||||
print(" ");
|
||||
p = 1;
|
||||
} else {
|
||||
for (i = a1 - a; i <= a1 - 1; i++)
|
||||
print(ts[i]);
|
||||
p = 0;
|
||||
}
|
||||
} while (a1 <= 60) ;
|
||||
}
|
||||
for (i = 1; i <= 10; i++)
|
||||
print("\n");
|
||||
}
|
||||
|
||||
main();
|
||||
9
61 Math Dice/javascript/mathdice.html
Normal file
9
61 Math Dice/javascript/mathdice.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>MATH DICE</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre id="output" style="font-size: 12pt;"></pre>
|
||||
<script src="mathdice.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
113
61 Math Dice/javascript/mathdice.js
Normal file
113
61 Math Dice/javascript/mathdice.js
Normal file
@@ -0,0 +1,113 @@
|
||||
// MATH DICE
|
||||
//
|
||||
// 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(31) + "MATH DICE\n");
|
||||
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
print("THIS PROGRAM GENERATES SUCCESSIVE PICTURES OF TWO DICE.\n");
|
||||
print("WHEN TWO DICE AND AN EQUAL SIGN FOLLOWED BY A QUESTION\n");
|
||||
print("MARK HAVE BEEN PRINTED, TYPE YOUR ANSWER AND THE RETURN KEY.\n"),
|
||||
print("TO CONCLUDE THE LESSON, TYPE ZERO AS YOUR ANSWER.\n");
|
||||
print("\n");
|
||||
print("\n");
|
||||
n = 0;
|
||||
while (1) {
|
||||
n++;
|
||||
d = Math.floor(6 * Math.random() + 1);
|
||||
print(" ----- \n");
|
||||
if (d == 1)
|
||||
print("I I\n");
|
||||
else if (d == 2 || d == 3)
|
||||
print("I * I\n");
|
||||
else
|
||||
print("I * * I\n");
|
||||
if (d == 2 || d == 4)
|
||||
print("I I\n");
|
||||
else if (d == 6)
|
||||
print("I * * I\n");
|
||||
else
|
||||
print("I * I\n");
|
||||
if (d == 1)
|
||||
print("I I\n");
|
||||
else if (d == 2 || d == 3)
|
||||
print("I * I\n");
|
||||
else
|
||||
print("I * * I\n");
|
||||
print(" ----- \n");
|
||||
print("\n");
|
||||
if (n != 2) {
|
||||
print(" +\n");
|
||||
print("\n");
|
||||
a = d;
|
||||
continue;
|
||||
}
|
||||
t = d + a;
|
||||
print(" =");
|
||||
t1 = parseInt(await input());
|
||||
if (t1 == 0)
|
||||
break;
|
||||
if (t1 != t) {
|
||||
print("NO, COUNT THE SPOTS AND GIVE ANOTHER ANSWER.\n");
|
||||
print(" =");
|
||||
t1 = parseInt(await input());
|
||||
if (t1 != t) {
|
||||
print("NO, THE ANSWER IS " + t + "\n");
|
||||
}
|
||||
}
|
||||
if (t1 == t) {
|
||||
print("RIGHT!\n");
|
||||
}
|
||||
print("\n");
|
||||
print("THE DICE ROLL AGAIN...\n");
|
||||
print("\n");
|
||||
n = 0;
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
@@ -1,7 +1,7 @@
|
||||
10 PRINT TAB(31);"MATH DICE"
|
||||
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
||||
30 PRINT:PRINT:PRINT
|
||||
40 PRINT "THIS PROGRAM GENERATES SUCCESIVE PICTURES OF TWO DICE."
|
||||
40 PRINT "THIS PROGRAM GENERATES SUCCESSIVE PICTURES OF TWO DICE."
|
||||
50 PRINT "WHEN TWO DICE AND AN EQUAL SIGN FOLLOWED BY A QUESTION"
|
||||
60 PRINT "MARK HAVE BEEN PRINTED, TYPE YOUR ANSWER AND THE RETURN KEY."
|
||||
70 PRINT "TO CONCLUDE THE LESSON, TYPE CONTROL-C AS YOUR ANSWER."
|
||||
|
||||
Reference in New Issue
Block a user