mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-24 20:10:15 -08:00
106 lines
3.5 KiB
JavaScript
106 lines
3.5 KiB
JavaScript
// 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();
|