Removed spaces from top-level directory names.

Spaces tend to cause annoyances in a Unix-style shell environment.
This change fixes that.
This commit is contained in:
Chris Reuter
2021-11-21 18:30:21 -05:00
parent df2e7426eb
commit d26dbf036a
1725 changed files with 0 additions and 0 deletions

7
53_King/README.md Normal file
View File

@@ -0,0 +1,7 @@
### King
As published in Basic Computer Games (1978)
https://www.atariarchives.org/basicgames/showpage.php?page=96
Downloaded from Vintage Basic at
http://www.vintage-basic.net/games.html

3
53_King/csharp/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Microsoft C#](https://docs.microsoft.com/en-us/dotnet/csharp/)

3
53_King/java/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Oracle Java](https://openjdk.java.net/)

View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells)

View File

@@ -0,0 +1,9 @@
<html>
<head>
<title>KING</title>
</head>
<body>
<pre id="output" style="font-size: 12pt;"></pre>
<script src="king.js"></script>
</body>
</html>

376
53_King/javascript/king.js Normal file
View File

@@ -0,0 +1,376 @@
// KING
//
// 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;
}
function hate_your_guts()
{
print("\n");
print("\n");
print("OVER ONE THIRD OF THE POPULATION HAS DIED SINCE YOU\n");
print("WERE ELECTED TO OFFICE. THE PEOPLE (REMAINING)\n");
print("HATE YOUR GUTS.\n");
}
// Main program
async function main()
{
print(tab(34) + "KING\n");
print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
print("\n");
print("\n");
print("\n");
print("DO YOU WANT INSTRUCTIONS");
str = await input();
n5 = 8;
if (str == "AGAIN") {
while (1) {
print("HOW MANY YEARS HAD YOU BEEN IN OFFICE WHEN INTERRUPTED");
x5 = parseInt(await input());
if (x5 == 0)
return;
if (x5 < 8)
break;
print(" COME ON, YOUR TERM IN OFFICE IS ONLY " + n5 + " YEARS.\n");
}
print("HOW MUCH DID YOU HAVE IN THE TREASURY");
a = parseInt(await input());
if (a < 0)
return;
print("HOW MANY COUNTRYMEN");
b = parseInt(await input());
if (b < 0)
return;
print("HOW MANY WORKERS");
c = parseInt(await input());
if (c < 0)
return;
while (1) {
print("HOW MANY SQUARE MILES OF LAND");
d = parseInt(await input());
if (d < 0)
return;
if (d > 1000 && d <= 2000)
break;
print(" COME ON, YOU STARTED WITH 1000 SQ. MILES OF FARM LAND\n");
print(" AND 10,000 SQ. MILES OF FOREST LAND.\n");
}
} else {
if (str.substr(0, 1) != "N") {
print("\n");
print("\n");
print("\n");
print("CONGRATULATIONS! YOU'VE JUST BEEN ELECTED PREMIER OF SETATS\n");
print("DETINU, A SMALL COMMUNIST ISLAND 30 BY 70 MILES LONG. YOUR\n");
print("JOB IS TO DECIDE UPON THE CONTRY'S BUDGET AND DISTRIBUTE\n");
print("MONEY TO YOUR COUNTRYMEN FROM THE COMMUNAL TREASURY.\n");
print("THE MONEY SYSTEM IS RALLODS, AND EACH PERSON NEEDS 100\n");
print("RALLODS PER YEAR TO SURVIVE. YOUR COUNTRY'S INCOME COMES\n");
print("FROM FARM PRODUCE AND TOURISTS VISITING YOUR MAGNIFICENT\n");
print("FORESTS, HUNTING, FISHING, ETC. HALF YOUR LAND IS FARM LAND\n");
print("WHICH ALSO HAS AN EXCELLENT MINERAL CONTENT AND MAY BE SOLD\n");
print("TO FOREIGN INDUSTRY (STRIP MINING) WHO IMPORT AND SUPPORT\n");
print("THEIR OWN WORKERS. CROPS COST BETWEEN 10 AND 15 RALLODS PER\n");
print("SQUARE MILE TO PLANT.\n");
print("YOUR GOAL IS TO COMPLETE YOUR " + n5 + " YEAR TERM OF OFFICE.\n");
print("GOOD LUCK!\n");
}
print("\n");
a = Math.floor(60000 + (1000 * Math.random()) - (1000 * Math.random()));
b = Math.floor(500 + (10 * Math.random()) - (10 * Math.random()));
c = 0;
d = 2000;
x5 = 0;
}
v3 = 0;
b5 = 0;
x = false;
while (1) {
w = Math.floor(10 * Math.random() + 95);
print("\n");
print("YOU NOW HAVE " + a + " RALLODS IN THE TREASURY.\n");
print(b + " COUNTRYMEN, ");
v9 = Math.floor(((Math.random() / 2) * 10 + 10));
if (c != 0)
print(c + " FOREIGN WORKERS, ");
print("AND " + Math.floor(d) + " SQ. MILES OF LAND.\n");
print("THIS YEAR INDUSTRY WILL BUY LAND FOR " + w + " ");
print("RALLODS PER SQUARE MILE.\n");
print("LAND CURRENTLY COSTS " + v9 + " RALLODS PER SQUARE MILE TO PLANT.\n");
print("\n");
while (1) {
print("HOW MANY SQUARE MILES DO YOU WISH TO SELL TO INDUSTRY");
h = parseInt(await input());
if (h < 0)
continue;
if (h <= d - 1000)
break;
print("*** THINK AGAIN. YOU ONLY HAVE " + (d - 1000) + " SQUARE MILES OF FARM LAND.\n");
if (x == false) {
print("\n");
print("(FOREIGN INDUSTRY WILL ONLY BUY FARM LAND BECAUSE\n");
print("FOREST LAND IS UNECONOMICAL TO STRIP MINE DUE TO TREES,\n");
print("THICKER TOP SOIL, ETC.)\n");
x = true;
}
}
d = Math.floor(d - h);
a = Math.floor(a + (h * w));
while (1) {
print("HOW MANY RALLODS WILL YOU DISTRIBUTE AMONG YOUR COUNTRYMEN");
i = parseInt(await input());
if (i < 0)
continue;
if (i < a)
break;
if (i == a) {
j = 0;
k = 0;
a = 0;
break;
}
print(" THINK AGAIN. YOU'VE ONLY " + a + " RALLODS IN THE TREASURY\n");
}
if (a) {
a = Math.floor(a - i);
while (1) {
print("HOW MANY SQUARE MILES DO YOU WISH TO PLANT");
j = parseInt(await input());
if (j < 0)
continue;
if (j <= b * 2) {
if (j <= d - 1000) {
u1 = Math.floor(j * v9);
if (u1 > a) {
print(" THINK AGAIN. YOU'VE ONLY " + a + " RALLODS LEFT IN THE TREASURY.\n");
continue;
} else if (u1 == a) {
k = 0;
a = 0;
}
break;
}
print(" SORRY, BUT YOU'VE ONLY " + (d - 1000) + " SQ. MILES OF FARM LAND.\n");
continue;
}
print(" SORRY, BUT EACH COUNTRYMAN CAN ONLY PLANT 2 SQ. MILES.\n");
}
}
if (a) {
a -= u1;
while (1) {
print("HOW MANY RALLODS DO YOU WISH TO SPEND ON POLLUTION CONTROL");
k = parseInt(await input());
if (k < 0)
continue;
if (k <= a)
break;
print(" THINK AGAIN. YOU ONLY HAVE " + a + " RALLODS REMAINING.\n");
}
}
if (h == 0 && i == 0 && j == 0 && k == 0) {
print("GOODBYE.\n");
print("(IF YOU WISH TO CONTINUE THIS GAME AT A LATER DATE, ANSWER\n");
print("'AGAIN' WHEN ASKED IF YOU WANT INSTRUCTIONS AT THE START\n");
print("OF THE GAME).\n");
return;
}
print("\n");
print("\n");
a = Math.floor(a - k);
a4 = a;
if (Math.floor(i / 100 - b) < 0) {
if (i / 100 < 50) {
hate_your_guts();
break;
}
print(Math.floor(b - (i / 100)) + " COUNTRYMEN DIED OF STARVATION\n");
}
f1 = Math.floor(Math.random() * (2000 - d));
if (k >= 25)
f1 = Math.floor(f1 / (k / 25));
if (f1 > 0)
print(f1 + " COUNTRYMEN DIED OF CARBON-MONOXIDE AND DUST INHALATION\n");
funeral = false;
if (Math.floor((i / 100) - b) >= 0) {
if (f1 > 0) {
print(" YOU WERE FORCED TO SPEND " + Math.floor(f1 * 9) + " RALLODS ON ");
print("FUNERAL EXPENSES.\n");
b5 = f1;
a = Math.floor(a - (f1 * 9));
funeral = true;
}
} else {
print(" YOU WERE FORCED TO SPEND " + Math.floor((f1 + (b - (i / 100))) * 9));
print(" RALLODS ON FUNERAL EXPENSES.\n");
b5 = Math.floor(f1 + (b - (i / 100)));
a = Math.floor(a - ((f1 + (b - (i / 100))) * 9));
funeral = true;
}
if (funeral) {
if (a < 0) {
print(" INSUFFICIENT RESERVES TO COVER COST - LAND WAS SOLD\n");
d = Math.floor(d + (a / w));
a = 0;
}
b = Math.floor(b - b5);
}
c1 = 0;
if (h != 0) {
c1 = Math.floor(h + (Math.random() * 10) - (Math.random() * 20));
if (c <= 0)
c1 += 20;
print(c1 + " WORKERS CAME TO THE COUNTRY AND ");
}
p1 = Math.floor(((i / 100 - b) / 10) + (k / 25) - ((2000 - d) / 50) - (f1 / 2));
print(Math.abs(p1) + " COUNTRYMEN ");
if (p1 >= 0)
print("CAME TO");
else
print("LEFT");
print(" THE ISLAND.\n");
b = Math.floor(b + p1);
c = Math.floor(c + c1);
u2 = Math.floor(((2000 - d) * ((Math.random() + 1.5) / 2)));
if (c != 0) {
print("OF " + Math.floor(j) + " SQ. MILES PLANTED,");
}
if (j <= u2)
u2 = j;
print(" YOU HARVESTED " + Math.floor(j - u2) + " SQ. MILES OF CROPS.\n");
if (u2 != 0 && t1 < 2) {
print(" (DUE TO ");
if (t1 != 0)
print("INCREASED ");
print("AIR AND WATER POLLUTION FROM FOREIGN INDUSTRY.)\n");
}
q = Math.floor((j - u2) * (w / 2));
print("MAKING " + q + " RALLODS.\n");
a = Math.floor(a + q);
v1 = Math.floor(((b - p1) * 22) + (Math.random() * 500));
v2 = Math.floor((2000 - d) * 15);
print(" YOU MADE " + Math.abs(Math.floor(v1 - v2)) + " RALLODS FROM TOURIST TRADE.\n");
if (v2 != 0 && v1 - v2 < v3) {
print(" DECREASE BECAUSE ");
g1 = 10 * Math.random();
if (g1 <= 2)
print("FISH POPULATION HAS DWINDLED DUE TO WATER POLLUTION.\n");
else if (g1 <= 4)
print("AIR POLLUTION IS KILLING GAME BIRD POPULATION.\n");
else if (g1 <= 6)
print("MINERAL BATHS ARE BEING RUINED BY WATER POLLUTION.\n");
else if (g1 <= 8)
print("UNPLEASANT SMOG IS DISCOURAGING SUN BATHERS.\n");
else if (g1 <= 10)
print("HOTELS ARE LOOKING SHABBY DUE TO SMOG GRIT.\n");
}
v3 = Math.floor(a + v3); // Probable bug from original game
a = Math.floor(a + v3);
if (b5 > 200) {
print("\n");
print("\n");
print(b5 + " COUNTRYMEN DIED IN ONE YEAR!!!!!\n");
print("DUE TO THIS EXTREME MISMANAGEMENT, YOU HAVE NOT ONLY\n");
print("BEEN IMPEACHED AND THROWN OUT OF OFFICE, BUT YOU\n");
m6 = Math.floor(Math.random() * 10);
if (m6 <= 3)
print("ALSO HAD YOUR LEFT EYE GOUGED OUT!\n");
else if (m6 <= 6)
print("HAVE ALSO GAINED A VERY BAD REPUTATION.\n");
else
print("HAVE ALSO BEEN DECLARED NATIONAL FINK.\n");
print("\n");
print("\n");
return;
}
if (b < 343) {
hate_your_guts();
break;
}
if (a4 / 100 > 5 && b5 - f1 >= 2) {
print("\n");
print("MONEY WAS LEFT OVER IN THE TREASURY WHICH YOU DID\n");
print("NOT SPEND. AS A RESULT, SOME OF YOUR COUNTRYMEN DIED\n");
print("OF STARVATION. THE PUBLIC IS ENRAGED AND YOU HAVE\n");
print("BEEN FORCED TO EITHER RESIGN OR COMMIT SUICIDE.\n");
print("THE CHOICE IS YOURS.\n");
print("IF YOU CHOOSE THE LATTER, PLEASE TURN OFF YOUR COMPUTER\n");
print("BEFORE PROCEEDING.\n");
print("\n");
print("\n");
return;
}
if (c > b) {
print("\n");
print("\n");
print("THE NUMBER OF FOREIGN WORKERS HAS EXCEEDED THE NUMBER\n");
print("OF COUNTRYMEN. AS A MINORITY, THEY HAVE REVOLTED AND\n");
print("TAKEN OVER THE COUNTRY.\n");
break;
}
if (n5 - 1 == x5) {
print("\n");
print("\n");
print("CONGRATULATIONS!!!!!!!!!!!!!!!!!!\n");
print("YOU HAVE SUCCESFULLY COMPLETED YOUR " + n5 + " YEAR TERM\n");
print("OF OFFICE. YOU WERE, OF COURSE, EXTREMELY LUCKY, BUT\n");
print("NEVERTHELESS, IT'S QUITE AN ACHIEVEMENT. GOODBYE AND GOOD\n");
print("LUCK - YOU'LL PROBABLY NEED IT IF YOU'RE THE TYPE THAT\n");
print("PLAYS THIS GAME.\n");
print("\n");
print("\n");
return;
}
x5++;
b5 = 0;
}
if (Math.random() <= 0.5) {
print("YOU HAVE BEEN ASSASSINATED.\n");
} else {
print("YOU HAVE BEEN THROWN OUT OF OFFICE AND ARE NOW\n");
print("RESIDING IN PRISON.\n");
}
print("\n");
print("\n");
}
main();

268
53_King/king.bas Normal file
View File

@@ -0,0 +1,268 @@
1 PRINT TAB(34);"KING"
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3 PRINT:PRINT:PRINT
4 PRINT "DO YOU WANT INSTRUCTIONS";
5 INPUT Z$
6 N5=8
10 IF LEFT$(Z$,1)="N" THEN 47
11 IF Z$="AGAIN" THEN 1960
12 PRINT:PRINT:PRINT
20 PRINT "CONGRATULATIONS! YOU'VE JUST BEEN ELECTED PREMIER OF SETATS"
22 PRINT "DETINU, A SMALL COMMUNIST ISLAND 30 BY 70 MILES LONG. YOUR"
24 PRINT "JOB IS TO DECIDE UPON THE CONTRY'S BUDGET AND DISTRIBUTE"
26 PRINT "MONEY TO YOUR COUNTRYMEN FROM THE COMMUNAL TREASURY."
28 PRINT "THE MONEY SYSTEM IS RALLODS, AND EACH PERSON NEEDS 100"
30 PRINT "RALLODS PER YEAR TO SURVIVE. YOUR COUNTRY'S INCOME COMES"
32 PRINT "FROM FARM PRODUCE AND TOURISTS VISITING YOUR MAGNIFICENT"
34 PRINT "FORESTS, HUNTING, FISHING, ETC. HALF YOUR LAND IS FARM LAND"
36 PRINT "WHICH ALSO HAS AN EXCELLENT MINERAL CONTENT AND MAY BE SOLD"
38 PRINT "TO FOREIGN INDUSTRY (STRIP MINING) WHO IMPORT AND SUPPORT"
40 PRINT "THEIR OWN WORKERS. CROPS COST BETWEEN 10 AND 15 RALLODS PER"
42 PRINT "SQUARE MILE TO PLANT."
44 PRINT "YOUR GOAL IS TO COMPLETE YOUR";N5;"YEAR TERM OF OFFICE."
46 PRINT "GOOD LUCK!"
47 PRINT
50 A=INT(60000+(1000*RND(1))-(1000*RND(1)))
55 B=INT(500+(10*RND(1))-(10*RND(1)))
65 D=2000
100 W=INT(10*RND(1)+95)
102 PRINT
105 PRINT "YOU NOW HAVE ";A;" RALLODS IN THE TREASURY."
110 PRINT INT(B);:PRINT "COUNTRYMEN, ";
115 V9=INT(((RND(1)/2)*10+10))
120 IF C=0 THEN 140
130 PRINT INT(C);"FOREIGN WORKERS, ";
140 PRINT "AND";INT(D);"SQ. MILES OF LAND."
150 PRINT "THIS YEAR INDUSTRY WILL BUY LAND FOR";W;
152 PRINT "RALLODS PER SQUARE MILE."
155 PRINT "LAND CURRENTLY COSTS";V9;"RALLODS PER SQUARE MILE TO PLANT."
162 PRINT
200 PRINT "HOW MANY SQUARE MILES DO YOU WISH TO SELL TO INDUSTRY";
210 INPUT H
215 IF H<0 THEN 200
220 IF H<=D-1000 THEN 300
230 PRINT "*** THINK AGAIN. YOU ONLY HAVE";D-1000;"SQUARE MILES OF FARM LAND."
240 IF X<>0 THEN 200
250 PRINT:PRINT "(FOREIGN INDUSTRY WILL ONLY BUY FARM LAND BECAUSE"
260 PRINT "FOREST LAND IS UNECONOMICAL TO STRIP MINE DUE TO TREES,"
270 PRINT "THICKER TOP SOIL, ETC.)"
280 X=1
299 GOTO 200
300 D=INT(D-H)
310 A=INT(A+(H*W))
320 PRINT "HOW MANY RALLODS WILL YOU DISTRIBUTE AMONG YOUR COUNTRYMEN";
340 INPUT I
342 IF I<0 THEN 320
350 IF I<A THEN 400
360 IF I=A THEN 380
370 PRINT " THINK AGAIN. YOU'VE ONLY";A;" RALLODS IN THE TREASURY"
375 GOTO 320
380 J=0
390 K=0
395 A=0
399 GOTO 1000
400 A=INT(A-I)
410 PRINT "HOW MANY SQUARE MILES DO YOU WISH TO PLANT";
420 INPUT J
421 IF J<0 THEN 410
422 IF J<=B*2 THEN 426
423 PRINT " SORRY, BUT EACH COUNTRYMAN CAN ONLY PLANT 2 SQ. MILES."
424 GOTO 410
426 IF J<=D-1000 THEN 430
427 PRINT " SORRY, BUT YOU'VE ONLY";D-1000;"SQ. MILES OF FARM LAND."
428 GOTO 410
430 U1=INT(J*V9)
435 IF U1<A THEN 500
440 IF U1=A THEN 490
450 PRINT " THINK AGAIN. YOU'VE ONLY";A;" RALLODS LEFT IN THE TREASURY."
460 GOTO 410
490 K=0
495 A=0
499 GOTO 1000
500 A=A-U1
510 PRINT "HOW MANY RALLODS DO YOU WISH TO SPEND ON POLLUTION CONTROL";
520 INPUT K
522 IF K<0 THEN 510
530 IF K<=A THEN 1000
540 PRINT " THINK AGAIN. YOU ONLY HAVE ";A;" RALLODS REMAINING."
550 GOTO 510
600 IF H<>0 THEN 1002
602 IF I<>0 THEN 1002
604 IF J<>0 THEN 1002
606 IF K<>0 THEN 1002
609 PRINT
612 PRINT "GOODBYE."
614 PRINT "(IF YOU WISH TO CONTINUE THIS GAME AT A LATER DATE, ANSWER"
616 PRINT "'AGAIN' WHEN ASKED IF YOU WANT INSTRUCTIONS AT THE START"
617 PRINT "OF THE GAME)."
618 STOP
1000 GOTO 600
1002 PRINT
1003 PRINT
1010 A=INT(A-K)
1020 A4=A
1100 IF INT(I/100-B)>=0 THEN 1120
1105 IF I/100<50 THEN 1700
1110 PRINT INT(B-(I/100));"COUNTRYMEN DIED OF STARVATION"
1120 F1=INT(RND(1)*(2000-D))
1122 IF K<25 THEN 1130
1125 F1=INT(F1/(K/25))
1130 IF F1<=0 THEN 1150
1140 PRINT F1;"COUNTRYMEN DIED OF CARBON-MONOXIDE AND DUST INHALATION"
1150 IF INT((I/100)-B)<0 THEN 1170
1160 IF F1>0 THEN 1180
1165 GOTO 1200
1170 PRINT " YOU WERE FORCED TO SPEND";INT((F1+(B-(I/100)))*9);
1172 PRINT "RALLODS ON FUNERAL EXPENSES"
1174 B5=INT(F1+(B-(I/100)))
1175 A=INT(A-((F1+(B-(I/100)))*9))
1176 GOTO 1185
1180 PRINT " YOU WERE FORCED TO SPEND ";INT(F1*9);"RALLODS ON ";
1181 PRINT "FUNERAL EXPENSES."
1182 B5=F1
1183 A=INT(A-(F1*9))
1185 IF A>=0 THEN 1194
1187 PRINT " INSUFFICIENT RESERVES TO COVER COST - LAND WAS SOLD"
1189 D=INT(D+(A/W))
1190 A=0
1194 B=INT(B-B5)
1200 IF H=0 THEN 1250
1220 C1=INT(H+(RND(1)*10)-(RND(1)*20))
1224 IF C>0 THEN 1230
1226 C1=C1+20
1230 PRINT C1;"WORKERS CAME TO THE COUNTRY AND";
1250 P1=INT(((I/100-B)/10)+(K/25)-((2000-D)/50)-(F1/2))
1255 PRINT ABS(P1);"COUNTRYMEN ";
1260 IF P1<0 THEN 1275
1265 PRINT "CAME TO";
1270 GOTO 1280
1275 PRINT "LEFT";
1280 PRINT " THE ISLAND."
1290 B=INT(B+P1)
1292 C=INT(C+C1)
1305 U2=INT(((2000-D)*((RND(1)+1.5)/2)))
1310 IF C=0 THEN 1324
1320 PRINT "OF ";INT(J);"SQ. MILES PLANTED,";
1324 IF J>U2 THEN 1330
1326 U2=J
1330 PRINT " YOU HARVESTED ";INT(J-U2);"SQ. MILES OF CROPS."
1340 IF U2=0 THEN 1370
1344 IF T1>=2 THEN 1370
1350 PRINT " (DUE TO ";
1355 IF T1=0 THEN 1365
1360 PRINT "INCREASED ";
1365 PRINT "AIR AND WATER POLLUTION FROM FOREIGN INDUSTRY.)"
1370 Q=INT((J-U2)*(W/2))
1380 PRINT "MAKING";INT(Q);"RALLODS."
1390 A=INT(A+Q)
1400 V1=INT(((B-P1)*22)+(RND(1)*500))
1405 V2=INT((2000-D)*15)
1410 PRINT " YOU MADE";ABS(INT(V1-V2));"RALLODS FROM TOURIST TRADE."
1420 IF V2=0 THEN 1450
1425 IF V1-V2>=V3 THEN 1450
1430 PRINT " DECREASE BECAUSE ";
1435 G1=10*RND(1)
1440 IF G1<=2 THEN 1460
1442 IF G1<=4 THEN 1465
1444 IF G1<=6 THEN 1470
1446 IF G1<=8 THEN 1475
1448 IF G1<=10 THEN 1480
1450 V3=INT(A+V3)
1451 A=INT(A+V3)
1452 GOTO 1500
1460 PRINT "FISH POPULATION HAS DWINDLED DUE TO WATER POLLUTION."
1462 GOTO 1450
1465 PRINT "AIR POLLUTION IS KILLING GAME BIRD POPULATION."
1467 GOTO 1450
1470 PRINT "MINERAL BATHS ARE BEING RUINED BY WATER POLLUTION."
1472 GOTO 1450
1475 PRINT "UNPLEASANT SMOG IS DISCOURAGING SUN BATHERS."
1477 GOTO 1450
1480 PRINT "HOTELS ARE LOOKING SHABBY DUE TO SMOG GRIT."
1482 GOTO 1450
1500 IF B5>200 THEN 1600
1505 IF B<343 THEN 1700
1510 IF (A4/100)>5 THEN 1800
1515 IF C>B THEN 1550
1520 IF N5-1=X5 THEN 1900
1545 GOTO 2000
1550 PRINT
1552 PRINT
1560 PRINT "THE NUMBER OF FOREIGN WORKERS HAS EXCEEDED THE NUMBER"
1562 PRINT "OF COUNTRYMEN. AS A MINORITY, THEY HAVE REVOLTED AND"
1564 PRINT "TAKEN OVER THE COUNTRY."
1570 IF RND(1)<=.5 THEN 1580
1574 PRINT "YOU HAVE BEEN THROWN OUT OF OFFICE AND ARE NOW"
1576 PRINT "RESIDING IN PRISON."
1578 GOTO 1590
1580 PRINT "YOU HAVE BEEN ASSASSINATED."
1590 PRINT
1592 PRINT
1596 STOP
1600 PRINT
1602 PRINT
1610 PRINT B5;"COUNTRYMEN DIED IN ONE YEAR!!!!!"
1615 PRINT "DUE TO THIS EXTREME MISMANAGEMENT, YOU HAVE NOT ONLY"
1620 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE, BUT YOU"
1622 M6=INT(RND(1)*10)
1625 IF M6<=3 THEN 1670
1630 IF M6<=6 THEN 1680
1635 IF M6<=10 THEN 1690
1670 PRINT "ALSO HAD YOUR LEFT EYE GOUGED OUT!"
1672 GOTO 1590
1680 PRINT "HAVE ALSO GAINED A VERY BAD REPUTATION."
1682 GOTO 1590
1690 PRINT "HAVE ALSO BEEN DECLARED NATIONAL FINK."
1692 GOTO 1590
1700 PRINT
1702 PRINT
1710 PRINT "OVER ONE THIRD OF THE POPULTATION HAS DIED SINCE YOU"
1715 PRINT "WERE ELECTED TO OFFICE. THE PEOPLE (REMAINING)"
1720 PRINT "HATE YOUR GUTS."
1730 GOTO 1570
1800 IF B5-F1<2 THEN 1515
1807 PRINT
1815 PRINT "MONEY WAS LEFT OVER IN THE TREASURY WHICH YOU DID"
1820 PRINT "NOT SPEND. AS A RESULT, SOME OF YOUR COUNTRYMEN DIED"
1825 PRINT "OF STARVATION. THE PUBLIC IS ENRAGED AND YOU HAVE"
1830 PRINT "BEEN FORCED TO EITHER RESIGN OR COMMIT SUICIDE."
1835 PRINT "THE CHOICE IS YOURS."
1840 PRINT "IF YOU CHOOSE THE LATTER, PLEASE TURN OFF YOUR COMPUTER"
1845 PRINT "BEFORE PROCEEDING."
1850 GOTO 1590
1900 PRINT
1902 PRINT
1920 PRINT "CONGRATULATIONS!!!!!!!!!!!!!!!!!!"
1925 PRINT "YOU HAVE SUCCESFULLY COMPLETED YOUR";N5;"YEAR TERM"
1930 PRINT "OF OFFICE. YOU WERE, OF COURSE, EXTREMELY LUCKY, BUT"
1935 PRINT "NEVERTHELESS, IT'S QUITE AN ACHIEVEMENT. GOODBYE AND GOOD"
1940 PRINT "LUCK - YOU'LL PROBABLY NEED IT IF YOU'RE THE TYPE THAT"
1945 PRINT "PLAYS THIS GAME."
1950 GOTO 1590
1960 PRINT "HOW MANY YEARS HAD YOU BEEN IN OFFICE WHEN INTERRUPTED";
1961 INPUT X5
1962 IF X5<0 THEN 1590
1963 IF X5<8 THEN 1969
1965 PRINT " COME ON, YOUR TERM IN OFFICE IS ONLY";N5;"YEARS."
1967 GOTO 1960
1969 PRINT "HOW MUCH DID YOU HAVE IN THE TREASURY";
1970 INPUT A
1971 IF A<0 THEN 1590
1975 PRINT "HOW MANY COUNTRYMEN";
1976 INPUT B
1977 IF B<0 THEN 1590
1980 PRINT "HOW MANY WORKERS";
1981 INPUT C
1982 IF C<0 THEN 1590
1990 PRINT "HOW MANY SQUARE MILES OF LAND";
1991 INPUT D
1992 IF D<0 THEN 1590
1993 IF D>2000 THEN 1996
1994 IF D>1000 THEN 100
1996 PRINT " COME ON, YOU STARTED WITH 1000 SQ. MILES OF FARM LAND"
1997 PRINT " AND 10,000 SQ. MILES OF FOREST LAND."
1998 GOTO 1990
2000 X5=X5+1
2020 B5=0
2040 GOTO 100
2046 END

3
53_King/pascal/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language))

3
53_King/perl/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Perl](https://www.perl.org/)

3
53_King/python/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Python](https://www.python.org/about/)

3
53_King/ruby/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original source downloaded [from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Ruby](https://www.ruby-lang.org/en/)

3
53_King/vbnet/README.md Normal file
View File

@@ -0,0 +1,3 @@
Original BASIC source [downloaded from Vintage Basic](http://www.vintage-basic.net/games.html)
Conversion to [Visual Basic .NET](https://en.wikipedia.org/wiki/Visual_Basic_.NET)