RIAG Crate 010: 110 Volume 110
Item Preview
Share or Embed This Item
Flag this item for
RIAG Crate 010: 110 Volume 110
- Language
- English
Notes
Disk info for 110_Volume_110.dsk:
File Name: riag_010_110_Volume_110/110_Volume_110.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 24576
Used Space (bytes): 118784
Physical Size (KB): 140
Free Space (KB): 24
Used Space (KB): 116
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 96
Used Sectors: 464
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for 110_Volume_110.dsk:
riag_010_110_Volume_110/110_Volume_110.dsk DISK VOLUME #254
A 003 AAA GAME 116
A 005 AAA MESSAGE
A 017 BATTLE
A 015 CENTURY 51
B 002 CENTURY 51.X
A 020 CHECKERS II
A 021 COMMODITY MARKET
A 016 CRAPS I
A 013 CRYPTOGRAMS
A 017 FRUSTRATION
A 027 GEOGRAPHY II
A 015 HANGMAN II
A 022 LUNAR LANDING BW
A 061 MARKET CRASH
B 005 MARKET CRASH.X
A 009 NAME THE STATES
A 018 PUZZLE GENERATOR
A 007 SOLITAIRE CHECKER PUZZLE
A 010 SPELL THE STATES
A 052 SPELUNKER
A 012 SUBSCAN FOR TWO
B 002 SUBSCAN.X
A 031 WORLD WAR
DOS 3.3 format; 24,576 bytes free; 118,784 bytes used.
Text found in 110_Volume_110.dsk/AAA GAME 116.bas:
100 REM AAA HELLO PUBLIC DOMAIN BY RONALD D. MALEIKA
200 REM 721 PIKE STREET CHEYENNE * WY * 82009 28 FEB 1981
300 HOME
400 VTAB 12: HTAB 3: INVERSE
500 PRINT "APPLE AVOCATION ALLIANCE (AAA), INC.": NORMAL
600 FOR P = 1 TO 1000: NEXT P
800 PRINT CHR$(4);"CATALOG"
998 END
999 REM STOP COPYRIGHT FRAUD! CLAIM A REWARD. SEE OFFER IN 3A CATALOG.
Text found in 110_Volume_110.dsk/AAA MESSAGE.bas:
100 REM AAA MESSAGE PUBLIC DOMAIN BY RONALD D. MALEIKA
125 REM 721 PIKE STREET CHEYENNE * WY * 82009 28 FEB 1981
135 REM
150 IF NOT PEEK( -1155) THEN CALL -1184
200 PRINT : PRINT
250 HTAB 12
300 PRINT "AN INVITATION FOR"
350 HTAB 5
400 PRINT "APPLE TREES AND APPLE SEEDLINGS": PRINT
450 PRINT "PERHAPS YOU FOUND SOME FAULTY PROGRAMS"
500 PRINT "AND YOU FIXED THEM?": PRINT
550 PRINT "MAYBE YOU EVEN TOOK LOTS OF TIME TO"
600 PRINT "REWRITE A PROGRAM FROM END TO END?": PRINT
650 PRINT "WE WOULD LIKE TO HARVEST YOUR 'IMPROVED'PROGRAMS FOR OTHERS TO ENJOY AND USE.
700 HTAB 6
750 PRINT "-- PLEASE, SEND US A COPY --": PRINT
800 PRINT "WE'LL RETURN YOUR DISK, RECOPIED WITH"
850 PRINT "ANY VOLUME YOU CHOOSE FROM OUR PUBLIC"
900 PRINT "DOMAIN LIBRARY, WITH MANY THANKS.": PRINT
950 HTAB 3
1000 PRINT "APPLE AVOCATION ALLIANCE (AAA), INC."
1050 HTAB 12
1100 PRINT "721 PIKE STREET"
1150 HTAB 6
1200 PRINT "CHEYENNE * WY * USA * 82009": PRINT
1250 PRINT "PRESS C FOR CATALOG OR RETURN TO QUIT";
1300 GET C$
1350 IF C$ = "C" THEN 1450
1400 IF NOT PEEK( -1155) THEN CALL -1184: END
1450 HOME : VTAB 12: HTAB 3: INVERSE
1475 PRINT "APPLE AVOCATION ALLIANCE (AAA), INC.": NORMAL
1500 PRINT CHR$(4);"CATALOG"
1550 END
Text found in 110_Volume_110.dsk/BATTLE.bas:
10 HOME : VTAB 10: HTAB 14: PRINT "BOMBARDMENT": PRINT : PRINT
15 HTAB 14: PRINT "MODIFIED BY": PRINT : PRINT
20 HTAB 12: PRINT "ROBERT R. DEVINE": FOR XF = 1 TO 75: FOR YF = 1 TO 75: NEXT YF,XF: HOME
25 VTAB 10: HTAB 10: INPUT "WHAT IS YOUR NAME ? ";N$: PRINT : PRINT : PRINT
30 VTAB 10: HTAB 3: PRINT "DO YOU WANT INSTRUCTIONS ";N$;" ";: INPUT A$: PRINT : PRINT
35 IF A$ = "YES" OR A$ = "Y" THEN 100
40 IF A$ = "NO" OR A$ = "N" THEN 260
45 HTAB 11: INPUT "YES OR NO PLEASE ! ";A$: GOTO 35
100 HOME : VTAB 10
105 PRINT "YOU ARE AT WAR WITH ME AND HAVE FOUR": PRINT
110 PRINT "PLATOONS TO FIGHT WITH. THE BATTLE-": PRINT
115 PRINT "FIELD HAS 25 OUTPOSTS WHERE YOU CAN": PRINT
120 PRINT "HIDE YOUR PLATOONS. YOU CAN ONLY PUT": PRINT
125 PRINT "ONE PLATOON AT EACH OUTPOST.
130 FOR XF = 1 TO 75: FOR YF = 1 TO 75: NEXT YF,XF
135 HOME : VTAB 10
140 PRINT "YOU WILL FIRE MISSLES AT MY OUTPOSTS": PRINT
145 PRINT "AND I WILL FIRE AT YOURS. WHOEVER": PRINT
150 PRINT "DESTROYS ALL THE ENEMY'S PLATOONS": PRINT
155 PRINT "FIRST IS THE WINNER. GOOD LUCK AND": PRINT
160 PRINT "TELL ME WHERE YOU WANT THE BODIES SENT!": PRINT
165 FOR XF = 1 TO 75: FOR YF = 1 TO 75: NEXT YF,XF
170 HOME : VTAB 5
175 PRINT "HERE IS THE FORMAT OF THE BATTLEFIELD.": PRINT : PRINT : PRINT
180 HTAB 11: PRINT "1 2 3 4 5": PRINT : PRINT
185 HTAB 11: PRINT "6 7 8 9 10": PRINT : PRINT
190 HTAB 10: PRINT "11 12 13 14 15": PRINT : PRINT
195 HTAB 10: PRINT "16 17 18 19 20": PRINT : PRINT
200 HTAB 10: PRINT "21 22 23 24 25"
205 FOR XF = 1 TO 75: FOR YF = 1 TO 75: NEXT YF,XF
260 DIM M(100)
270 Z = 0:Q = 0:P = 0: GR : GOSUB 1500
380 C = INT( RND(1) *25) +1
390 D = INT( RND(1) *25) +1
400 E = INT( RND(1) *25) +1
410 F = INT( RND(1) *25) +1
420 IF C = D THEN 390
430 IF C = E THEN 400
440 IF C = F THEN 410
450 IF D = E THEN 400
460 IF D = F THEN 410
470 IF E = F THEN 410
475 SPEED= 100
480 HOME : PRINT " OK ";N$;", CHOOSE YOUR 4 POSITIONS !": PRINT
481 INPUT "SELECT OUTPOSTS (A,B,C,D) > ";G,H,K,L
482 IF G >25 OR H >25 OR K >25 OR L >25 OR G <1 OR H <1 OR K <1 OR L <1 THEN 484
483 GOTO 485
484 HOME : PRINT N$;" ";G;",";H;",";K;",";L;" IS ILLEGAL. TRY AGAIN": PRINT : GOTO 481
485 R1 = G:XA = 0: COLOR= 1: GOSUB 1300
486 R1 = H: GOSUB 1300
487 R1 = K: GOSUB 1300
488 R1 = L: GOSUB 1300
500 SPEED= 255: HOME : HTAB 2: PRINT "TAKE YOUR BEST SHOT ";N$;" - FIRE !": PRINT
510 HTAB 8: INPUT "SELECT POSITION (1-25) > ";Y: SPEED= 100
511 IF Y <1 OR Y >25 OR Y < > INT(Y) THEN 513
512 GOTO 515
513 HOME : HTAB 4: INVERSE : PRINT "ILLEGAL ENTRY ";N$;" - TRY AGAIN": NORMAL : PRINT : GOTO 510
515 R1 = Y:XA = 21: COLOR= 15: GOSUB 1300
520 IF Y = C OR Y = D OR Y = E OR Y = F THEN 710
560 GOTO 630
570 M = INT( RND(1) *25) +1
575 GOTO 1160
576 REM
580 IF X = G OR X = H OR X = L OR X = K THEN 920
620 GOTO 670
630 HOME : PRINT "HA, HA, YOU MISSED ME ";N$;" ! MY TURN.": FOR XF = 1 TO 15: FOR YF = 1 TO 15: NEXT YF,XF
640 GOTO 570
670 HOME : HTAB 5: PRINT "MY TURN ! I CHOOSE ";M;" - FIRE !": FOR XF = 1 TO 30:Z9 = PEEK( -16336) - PEEK( -16336) - PEEK( -16336): NEXT XF
672 R1 = X:XA = 0: COLOR= 15: GOSUB 1300
675 PRINT : HTAB 9: PRINT "AW DARN ! I MISSED YOU."
676 FOR XF = 1 TO 30: FOR YF = 1 TO 30: NEXT YF,XF
680 GOTO 500
710 Q = Q +1
715 R1 = Y:XA = 21: COLOR= 11: GOSUB 1300
720 IF Q = 4 THEN 890
725 FOR XF = 1 TO 30:Z9 = PEEK( -16336) - PEEK( -16336) - PEEK( -16336): NEXT XF
730 HOME : PRINT "YOU TURKEY ! YOU GOT ONE OF MY OUTPOSTS.": PRINT
740 HTAB 7: PRINT "THAT'S ";Q;" DOWN AND ";4 -Q;" TO GO.": FOR XF = 1 TO 20: FOR YF = 1 TO 20: NEXT YF,XF
750 GOTO 570
890 HOME : INVERSE : PRINT "YOU WIN ";N$;", THAT'S MY LAST OUTPOST": NORMAL : FOR XF = 1 TO 35: FOR YF = 1 TO 35: NEXT YF,XF
910 GOTO 1235
920 Z = Z +1
925 R1 = X:XA = 0: COLOR= 11: GOSUB 1300
926 FOR XF = 1 TO 30:Z9 = PEEK( -16336) - PEEK( -16336) - PEEK( -16336): NEXT XF
930 IF Z = 4 THEN 1110
940 HOME : HTAB 7: FLASH : PRINT "I GOT YOU. POST ";X;" WAS HIT.": NORMAL : PRINT
950 HTAB 3: PRINT "NOW YOU ONLY HAVE ";4 -Z;" OUTPOSTS LEFT."
955 FOR XF = 1 TO 30: FOR YF = 1 TO 30: NEXT YF,XF
960 GOTO 500
1110 HOME : HTAB 14: INVERSE : PRINT "I WIN "N$: NORMAL
1115 HTAB 8: PRINT "THAT'S YOUR LAST OUTPOST.": PRINT
1120 HTAB 9: PRINT "BETTER LUCK NEXT TIME!": FOR XF = 1 TO 30: FOR YF = 1 TO 30: NEXT YF,XF
1125 HOME : HTAB 4: PRINT "MY OUTPOSTS WERE AT ";C;",";D;",";E;" AND ";F
1130 R1 = C:XA = 21: COLOR= 9: GOSUB 1300
1135 R1 = D: GOSUB 1300
1140 R1 = E: GOSUB 1300
1145 R1 = F: GOSUB 1300
1146 FOR XF = 1 TO 65: FOR YF = 1 TO 65: NEXT YF,XF
1150 GOTO 1235
1160 P = P +1:N = P -1
1180 FOR T = 1 TO N
1190 IF M = M(T) THEN 570
1200 NEXT T
1210 X = M:M(P) = M
1230 GOTO 576
1235 SPEED= 255: TEXT : HOME : VTAB 12
1240 PRINT "DO YOU WANT TO TRY ANOTHER GAME ";N$;" ";: INPUT A$: PRINT : PRINT
1245 IF A$ = "YES" OR A$ = "Y" THEN 270
1250 IF A$ = "NO" OR A$ = "N" THEN 9999
1255 HTAB 11: INPUT "YES OR NO PLEASE ! ";A$: GOTO 1245
1300 ON R1 GOSUB 1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425
1310 FOR MC = YC TO YC +3
1320 HLIN XC +XA,XC +XA +2 AT MC
1330 NEXT MC
1340 RETURN
1401 XC = 0:YC = 8: RETURN
1402 XC = 4:YC = 8: RETURN
1403 XC = 8:YC = 8: RETURN
1404 XC = 12:YC = 8: RETURN
1405 XC = 16:YC = 8: RETURN
1406 XC = 0:YC = 13: RETURN
1407 XC = 4:YC = 13: RETURN
1408 XC = 8:YC = 13: RETURN
1409 XC = 12:YC = 13: RETURN
1410 XC = 16:YC = 13: RETURN
1411 XC = 0:YC = 18: RETURN
1412 XC = 4:YC = 18: RETURN
1413 XC = 8:YC = 18: RETURN
1414 XC = 12:YC = 18: RETURN
1415 XC = 16:YC = 18: RETURN
1416 XC = 0:YC = 23: RETURN
1417 XC = 4:YC = 23: RETURN
1418 XC = 8:YC = 23: RETURN
1419 XC = 12:YC = 23: RETURN
1420 XC = 16:YC = 23: RETURN
1421 XC = 0:YC = 28: RETURN
1422 XC = 4:YC = 28: RETURN
1423 XC = 8:YC = 28: RETURN
1424 XC = 12:YC = 28: RETURN
1425 XC = 16:YC = 28: RETURN
1500 COLOR= 10
1505 FOR XC = 0 TO 16 STEP 4
1510 FOR YC = 8 TO 28 STEP 5
1515 FOR MC = YC TO YC +3
1520 HLIN XC,XC +2 AT MC
1525 NEXT MC,YC,XC
1530 COLOR= 6
1535 FOR XC = 21 TO 37 STEP 4
1540 FOR YC = 8 TO 28 STEP 5
1545 FOR MC = YC TO YC +3
1550 HLIN XC,XC +2 AT MC
1555 NEXT MC,YC,XC
1560 RETURN
9999 HOME : VTAB 12: HTAB 9: PRINT "HAVE A NICE DAY ";N$
Text found in 110_Volume_110.dsk/CENTURY 51.X.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 03 00 08 00 1F 00 47 00 1D 3F 2D 2D 3F 24 36 36 ......G. .?--?$66
$000010 DE 38 18 44 45 68 71 F2 6A D5 F3 13 DF 04 00 3C ^8.DEhqr jUs._..<
$000020 3C 3C 3C 3C 36 36 36 36 26 25 25 25 25 25 25 25 <<<<6666 &%%%%%%%
$000030 25 35 36 36 36 36 3C 3C 3C 3C 3F 24 2D 2D 36 3E %56666<< <$--6>
$000040 3F 3F 24 2C 2D 05 00 1B 3F 3F 3F 3F 3F 3F 2F 2D ??$,-... ??????/-
$000050 2D 2D 2D 2D 2D 25 27 27 27 27 27 3F 35 35 2D 2E -----%'' '''?55-.
$000060 2E 2E 2E 26 24 24 24 24 24 24 34 36 36 36 36 36 ...&$$$$ $$466666
$000070 3E 3E 3E 3E 3E 26 25 25 25 25 25 35 25 25 25 25 >>>>>&%% %%%5%%%%
$000080 25 25 35 37 37 37 37 37 2D 2D 3F 37 35 2E 36 35 %%577777 --?75.65
$000090 35 3C 24 3F 3C 3C 3F 36 36 36 36 36 24 24 24 24 5<$?<6 6666$$$$
$0000A0 24 34 35 35 2E 36 25 27 3C 3C 27 24 25 25 24 25 $455.6%' <<'$%%$%
$0000B0 36 37 2D 2C 25 2D 2C E5 DB DB 08 2C EC DB DB DB 67-,%-,e [[.,l[[[
$0000C0 1B 2E 2E AE D3 9A D3 3F 27 BF 51 8A 09 3F 3E 57 ....S.S? '?Q..?>W
$0000D0 8A 51 49 4A 24 A5 51 0A 2E 2E 2E 36 08 08 08 40 .QIJ$%Q. ...6...@
$0000E0 08 08 08 D8 35 2D 2E 35 18 08 C0 18 18 2D 2D 25 ...X5-.5 ..@..--%
$0000F0 2D 2D 25 25 DD DB DB DB 2D 0C .. .. .. .. .. .. --%%][[[ -.
** END **
Text found in 110_Volume_110.dsk/CENTURY 51.bas:
10 POKE 232,6: POKE 233,31
12 GOSUB 20000
15 PRINT " BLOAD CENTURY 51.X"
20 GOSUB 32000: GOTO 100
25 POKE 776,P: POKE 777,D: CALL 778: RETURN
100 REM
500 YS = 0:ES = 0:PHP = 30:TIME = 24
1000 REM INITIAL SCREEN SETUP
1005 LX = 0:LY = 0:RX = 0:RY = 0
1007 GR : COLOR= 15: FOR I = 0 TO 39: VLIN 0,39 AT I: NEXT I: HOME : TEXT
1010 HGR
1020 HCOLOR= 3
1040 HPLOT 0,0 TO 279,0
1060 HPLOT 0,159 TO 279,159
1120 FOR M = 1 TO 200
1130 X = INT( RND(1) *280)
1140 Y = INT( RND(1) *160)
1150 HPLOT X,Y
1160 NEXT M
1180 VTAB 21: HTAB 2: PRINT "YOUR SCORE": VTAB 21: HTAB 28: PRINT "ENEMY SCORE"
1190 VTAB 22: HTAB 6: PRINT YS: VTAB 22: HTAB 32: PRINT ES
1195 VTAB 23: HTAB 5: PRINT "TIME: ";TIME: VTAB 23: HTAB 22: PRINT "LASER POWER: ";PHP
1200 X = INT( RND(1) *A +10):Y = INT( RND(1) *B/2 +10)
1210 IF X <50 THEN X = X + INT( RND(1) *180)
1215 IF Y <20 THEN Y = Y + INT( RND(1) *120)
1220 ROT= 0:G = INT( RND(1) *20): SCALE= 1 +(G >15)
1240 HCOLOR= 3: DRAW 2 AT X,Y
1245 HPLOT 0,0 TO 279,0: HPLOT 0,159 TO 279,159
1250 VTAB 22: HTAB 15: PRINT " "
1254 TIME = INT(TIME *10 -1)/10: IF RND(1) <.1 THEN PHP = PHP +1
1256 IF TIME <0 THEN 8000
1257 VTAB 22: HTAB 6: PRINT YS: VTAB 22: HTAB 32: PRINT ES
1258 VTAB 23: HTAB 5: PRINT "TIME: ": VTAB 23: HTAB 11: PRINT TIME: VTAB 23: HTAB 20: PRINT "LASER POWER: ": VTAB 23: HTAB 33: PRINT PHP
1260 IF PEEK( -16286) >127 THEN GOSUB 5000
1280 IF PEEK( -16287) >127 THEN GOSUB 6000
1300 IF G >17 THEN GOSUB 3500
1340 A = PDL(0)
1420 OLY = LY:DRY = RY:LLX = LX:RRX = RX
1425 B = PDL(1)
1430 A = A +1
1440 LX = 14 * COS(A/164):LY = 14 * SIN(A/164)
1450 B = PDL(1) +1
1460 RX = 14 * COS(B/164):RY = 14 * SIN(B/164)
1470 LX = INT(LX):LY = INT(LY):RX = INT(RX):RY = INT(RY)
1480 IF LLX = LX AND OLY = LY THEN 1520
1490 HCOLOR= 0: HPLOT 0,0 TO LLX,OLY: HPLOT 0,159 TO LLX,159 -OLY
1500 HCOLOR= 3: HPLOT 0,0 TO LX,LY: HPLOT 0,159 TO LX,159 -LY
1520 IF RRX = RX AND DRY = RY THEN 1600
1530 HCOLOR= 0: HPLOT 279,0 TO 279 -RRX,DRY: HPLOT 279,159 TO 279 -RRX,159 -DRY
1540 HCOLOR= 3: HPLOT 279,0 TO 279 -RX,RY: HPLOT 279,159 TO 279 -RX,159 -RY
1600 SCALE= (G >15) +1
1610 HCOLOR= 0: DRAW 2 AT X,Y
1620 IF RND(1) >.5 THEN X = X +(X <266) *3
1630 IF RND(1) <.5 THEN X = X -(X >14) *3
1640 IF RND(1) >.5 THEN Y = Y +(Y <145) *2
1650 IF RND(1) <.5 THEN Y = Y -(Y >15) *2
1690 IF RND(1) <.16 THEN 1200
1700 GOTO 1220
3000 REM REDO SCREEN BORDER
3020 HCOLOR= 3
3040 HPLOT 0,0 TO 279,0
3060 HPLOT 0,159 TO 279,159
3120 RETURN
3200 REM RESTORE A FEW STARS
3220 HCOLOR= 3
3240 FOR M = 1 TO 11 +PHP::U = INT( RND(1) *280):V = INT( RND(1) *160): HPLOT U,V: NEXT M
3260 RETURN
3500 REM FIGHTER FIRE
3510 D = 30:P = 17: GOSUB 25
3520 FOR R = 1 TO 12
3530 HCOLOR= 5
3540 ROT= R *21: SCALE= 1 +(R >5) +R/2 *(R >8) +8 *(R >11)
3560 DRAW 1 AT X,Y
3575 HCOLOR= 0
3580 DRAW 1 AT X,Y
3590 NEXT R
3591 ROT= 0
3592 HCOLOR= 3: SCALE= 1 +(G >15): DRAW 2 AT X,Y
3600 GOSUB 3000
3620 IF ABS(X -140) <90 AND ABS(Y -80) <50 THEN GOSUB 7000
3650 RETURN
4400 REM EXPLODING FIGHTER
4410 ROT= 0: SCALE= 1 +(G >15): HCOLOR= 0: DRAW 2 AT X,Y
4420 FOR R = 1 TO 6
4430 HCOLOR= 3
4440 ROT= 0: SCALE= 1 +(R >3) *2 +(R >5) *4
4460 DRAW 1 AT X,Y
4470 D = 20:P = 235: GOSUB 25
4475 HCOLOR= 0
4480 DRAW 1 AT X,Y
4490 NEXT R
4492 YS = YS +1
4493 VTAB 22: HTAB 6: PRINT YS: VTAB 22: HTAB 32: PRINT ES
4495 GOSUB 3000: GOSUB 3200
4520 POP : GOTO 1200
5000 REM RIGHT LASER
5010 IF PHP = 0 THEN 5080
5015 PHP = PHP -1
5020 HCOLOR= 2: HPLOT 279 -RX,RY TO 279 -12 *RX,12 *RY: HPLOT 279 -RX,159 -RY TO 279 -12 *RX,159 -12 *RY
5040 HCOLOR= 4: HPLOT 279 -RX,RY TO 279 -12 *RX,12 *RY: HPLOT 279 -RX,159 -RY TO 279 -12 *RX,159 -12 *RY
5050 P = 50:D = 20: GOSUB 25:P = 180:D = 10: GOSUB 25:P = 50:D = 10: GOSUB 25
5060 IF ABS(RY *(279 -X) -RX *(159 -Y)) <40 OR ABS(RY *(279 -X) -RX *Y) <40 THEN 4400
5080 RETURN
6000 REM RIGHT LASER
6010 IF PHP = 0 THEN 6080
6015 PHP = PHP -1
6020 HCOLOR= 1: HPLOT LX,LY TO 12 *LX,12 *LY: HPLOT LX,159 -LY TO LX *12,159 -12 *LY
6040 HCOLOR= 4: HPLOT LX,LY TO 12 *LX,12 *LY: HPLOT LX,159 -LY TO LX *12,159 -12 *LY
6050 P = 50:D = 20: GOSUB 25:P = 180:D = 10: GOSUB 25:P = 50:D = 10: GOSUB 25
6060 IF ABS(LY *X -LX *(159 -Y)) <40 OR ABS(LY *X -LX *Y) <40 THEN 4400
6080 RETURN
7000 REM YOU'VE BEEN HIT!
7005 POKE -16298,0: FLASH
7008 FOR STAL = 1 TO 20: NEXT STAL: POKE -16297,0
7010 VTAB 22: HTAB 15: PRINT "DIRECT HIT!": CALL -198: CALL -198: CALL -198: CALL -198
7015 NORMAL
7020 ES = ES +1
7025 IF ES = 9 THEN VTAB 21: HTAB 14: FLASH : PRINT "SHIELDS GONE!": NORMAL : FOR BUZ = 1 TO 30:BZ = PEEK( -16336): NEXT BUZ
7027 IF ES >9 THEN HCOLOR= 5: HPLOT 0,0: CALL 62454: FOR W = 1 TO 500: NEXT W: HCOLOR= 0: HPLOT 0,0: CALL 62454: POP : POP : GOTO 8000
7030 RETURN
8000 RA = YS *20 -ES *5 - INT(TIME) +5 *PHP *(ES <10)
8010 VTAB 24: HTAB 2: PRINT "RATING: ";RA;: HTAB 21: INPUT "TRY AGAIN? (Y/N) ";A$:
8020 IF A$ = "Y" THEN 500
8040 IF A$ < >"N" THEN 8000
8060 TEXT : HOME : END
20000 TEXT : CALL -936: VTAB 5: HTAB 12: PRINT "-- CENTURY 51 --"
20020 PRINT : HTAB 13: PRINT "BY JIM HILGER"
20040 PRINT : PRINT : PRINT
20050 PRINT "USE PADDLE DIALS TO DIRECT LASER": PRINT "CANNONS. USE PADDLE BUTTONS TO": PRINT "FIRE AT TARGETS."
20060 PRINT : PRINT "THE TARGETS SHOOT BACK... IF THEY HIT": PRINT "YOU TEN TIMES, YOU WILL GO UP"
20070 PRINT "IN AN ORANGE BALL OF FLAME!"
20080 PRINT : INPUT "RETURN, WHENEVER YOUR NERVE IS UP. ";Z$
20090 RETURN
32000 POKE 776,255: POKE 777,255: POKE 778,173: POKE 779,48: POKE 780,192: POKE 781,136: POKE 782,208: POKE 783,5: POKE 784,206: POKE 785,9: POKE 786,3: POKE 787,240
32010 POKE 788,9: POKE 789,202: POKE 790,208: POKE 791,245: POKE 792,174: POKE 793,8: POKE 794,3: POKE 795,76: POKE 796,10: POKE 797,3: POKE 798,96: RETURN
Text found in 110_Volume_110.dsk/CHECKERS II.bas:
2 TEXT : HOME
4 PRINT : PRINT : PRINT
5 PRINT TAB( 11);"CHECKERS"
15 PRINT : PRINT : PRINT
20 PRINT "THIS IS THE GAME OF CHECKERS."
35 PRINT "SQUARES ARE REFERRED TO BY A"
40 PRINT "COORDINATE SYSTEM AS FOLLOWS:"
45 PRINT "(0,0) IS THE LOWER LEFT CORNER"
50 PRINT "(0,7) IS THE UPPER LEFT CORNER"
55 PRINT "(7,0) IS THE LOWER RIGHT CORNER"
60 PRINT "(7,7) IS THE UPPER RIGHT CORNER"
61 PRINT "THE COMPUTER WILL TYPE '+TO'"
62 PRINT "WHEN YOU HAVE ANOTHER JUMP."
63 PRINT "TYPE TWO NEGATIVE NUMBERS IF"
64 PRINT "YOU CANNOT JUMP."
65 PRINT : PRINT : PRINT : PRINT
70 PRINT "ARE YOU PLAYER 1 OR 2 (1 GOES FIRST)": INPUT PC
71 IF PC < >1 AND PC < >2 THEN 70
80 DIM R(4),S(7,7):G = -1:R(0) = -99
90 DATA 1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1,15
95 A$ = " 0 1 2 3 4 5 6 7"
96 POKE 778,173: POKE 779,48: POKE 780,192: POKE 781,173: POKE 782,8 : POKE 783,3: POKE 784,32: POKE 785,168: POKE 786,252: POKE 787,173
97 POKE 788,9 : POKE 789,3: POKE 790,208: POKE 791,5: POKE 792,206: POKE 793,36: POKE 794,3: POKE 795,240: POKE 796,6: POKE 797,206: POKE 798,9
98 POKE 799,3: POKE 800,76: POKE 801,10: POKE 802,3: POKE 803,96
99 GR : COLOR= 5: PRINT A$: PRINT
100 IF PC = 1 THEN PC = 0:CC = 6: PRINT "YOU ARE BLACK AND WILL GO FIRST": PRINT ;
101 IF PC = 2 THEN PC = 6:CC = 0: PRINT "YOU ARE BLUE (RED WON'T SHOW)": PRINT "AND I WILL GO FIRST";
102 POKE 34,21: HLIN 2,35 AT 2 : HLIN 2,35 AT 35: VLIN 2,35 AT 2: VLIN 2,35 AT 35
104 FOR I1 = 3 TO 32 STEP 4
106 C1 = 1 AND NOT C1 OR 0 AND C1
108 A1 = C1
110 FOR J1 = 3 TO 32 STEP 4
112 A1 = 1 AND NOT A1 OR 0 AND A1
114 COLOR= A1
116 FOR K1 = 0 TO 3: HLIN I1,I1 +3 AT J1 +K1
118 NEXT K1,J1,I1
120 FOR X = 0 TO 7: FOR Y = 0 TO 7: READ J: IF J = 15 THEN 180
160 S(X,Y) = J: GOTO 190
180 RESTORE : READ S(X,Y)
190 IF S(X,Y) = 1 THEN GOSUB 1950
195 IF S(X,Y) = -1 THEN GOSUB 2000
200 NEXT Y,X
210 IF PC = 0 THEN 1420
230 FOR X = 0 TO 7: FOR Y = 0 TO 7: IF S(X,Y) > -1 THEN 350
231 IF S(X,Y) > -1 THEN 350
310 IF S(X,Y) = -1 THEN FOR A = -1 TO 1 STEP 2:B = G: GOSUB 650: NEXT A
330 IF S(X,Y) = -2 THEN FOR A = -1 TO 1 STEP 2: FOR B = -1 TO 1 STEP 2: GOSUB 650: NEXT B,A
350 NEXT Y,X: GOTO 1140
650 U = X +A:V = Y +B: IF U <0 OR U >7 OR V <0 OR V >7 THEN 870
740 IF S(U,V) = 0 THEN GOSUB 910: GOTO 870
770 IF S(U,V) <0 THEN 870
790 U = U +A:V = V +B: IF U <0 OR V <0 OR U >7 OR V >7 THEN 870
850 IF S(U,V) = 0 THEN GOSUB 910
870 RETURN
910 IF V = 0 AND S(X,Y) = -1 THEN Q = Q +2
920 IF ABS(Y -V) = 2 THEN Q = Q +5
960 IF Y = 7 THEN Q = Q -2
980 IF Y = 0 OR U = 7 THEN Q = Q +1
1030 FOR C = -1 TO 1 STEP 2: IF U +C <0 OR U +C >7 OR V +G <0 THEN 1080
1035 IF S(U +C,V +G) <0 THEN Q = Q +1: GOTO 1080
1040 IF U -C <0 OR U -C >7 OR V -G >7 THEN 1080
1045 IF S(U +C,V +G) >0 AND (S(U -C,V -G) = 0 OR (U -C = X AND V -G = Y)) THEN Q = Q -2
1080 NEXT C: IF Q >R(0) THEN R(0) = Q:R(1) = X:R(2) = Y:R(3) = U:R(4) = V
1100 Q = 0: RETURN
1140 IF R(0) = -99 THEN 1880
1230 PRINT CHR$(30)"FROM"R(1);R(2)"TO"R(3);R(4);:R(0) = -99
1235 X = R(1):Y = R(2): GOSUB 1900
1240 IF R(4) < >0 THEN 1250
1245 X = R(3):Y = R(4): GOSUB 2050:S(X,Y) = -2: GOTO 1310
1250 S(R(3),R(4)) = S(R(1),R(2))
1260 X = R(1):Y = R(2): GOSUB 1900
1270 X = R(3):Y = R(4)
1280 IF S(X,Y) = -1 THEN GOSUB 2000
1290 IF S(X,Y) = -2 THEN GOSUB 2050
1310 X = R(1):Y = R(2): GOSUB 1900
1311 X = R(3):Y = R(4)
1312 IF S(X,Y) = -1 THEN GOSUB 2000
1313 IF S(X,Y) = -2 THEN GOSUB 2050
1314 S(R(1),R(2)) = 0: IF ABS(R(1) -R(3)) < >2 THEN 1420
1320 X = (R(1) +R(3))/2:Y = (R(2) +R(4))/2: GOSUB 1900
1330 S(X,Y) = 0
1340 X = R(3):Y = R(4): IF S(X,Y) = -1 THEN B = -2: FOR A = -2 TO 2 STEP 4: GOSUB 1370
1350 IF S(X,Y) = -2 THEN FOR A = -2 TO 2 STEP 4: FOR B = -2 TO 2 STEP 4: GOSUB 1370: NEXT B
1360 NEXT A: IF R(0) < > -99 THEN PRINT "TO"R(3);R(4);:R(0) = -99: GOTO 1240
1365 GOTO 1420
1370 U = X +A:V = Y +B: IF U <0 OR U >7 OR V <0 OR V >7 THEN 1400
1380 IF S(U,V) = 0 AND S(X +A/2,Y +B/2) >0 THEN GOSUB 910
1400 RETURN
1420 PRINT
1425 E = 0
1430 FOR I = 0 TO 7: FOR J = 0 TO 7: IF S(I,J) <1 THEN 1520
1440 FOR Y = 1 TO -1 STEP -2: FOR X = -1 TO 1 STEP 2:X1 = I +X:Y1 = J +Y: IF X1 <0 OR X1 >7 OR Y1 <0 OR Y1 >7 THEN 1500
1460 IF S(X1,Y1) < >0 THEN GOTO 1470
1465 E = 1:J = 7:I = 7:X = 1:Y = -1: GOTO 1500
1470 IF S(X1,Y1) >0 THEN 1500
1480 X2 = X1 +X:Y2 = Y1 +Y: IF X2 <0 OR X2 >7 OR Y2 <0 OR Y2 >7 THEN 1500
1490 IF S(X2,Y2) = 0 THEN GOTO 1465
1500 NEXT X: IF S(I,J) = 1 THEN Y = -1
1510 NEXT Y
1520 NEXT J,I
1525 IF E = 1 THEN 1590
1530 E$ = "00520052005100520082007100720051005200310053":MS$ = "ZAP - YOU LOSE!":EN = 1: GOTO 1882
1590 INPUT "FROM";E,H:X = E:Y = H: IF X <0 OR X >7 OR Y <0 OR Y >7 THEN 1630
1595 IF S(X,Y) < = 0 THEN 1630
1600 GOTO 1670
1630 PRINT CHR$(7) CHR$(11);: GOTO 1590
1670 INPUT "TO";A,B:X = A:Y = B
1671 IF S(E,H) = 2 OR Y >H THEN 1675
1672 PRINT "YOU MUST MOVE FORWARD": GOTO 1690
1675 IF X = 99 OR Y = 99 THEN 1630
1676 IF X <0 OR X >7 OR Y <0 OR Y >7 THEN 1690
1680 IF S(X,Y) = 0 AND ABS(A -E) < = 2 AND ABS(A -E) = ABS(B -H) THEN 1700
1690 PRINT CHR$(7) CHR$(11);: GOTO 1670
1700 IF ( ABS(A -E) = 2) AND (S((A +E)/2,(B +H)/2) <0) THEN 1750
1705 IF ABS(A -E) = 1 THEN 1750
1710 PRINT "YOU CAN ONLY JUMP YOUR OPPONENT (ME)": GOTO 1630
1750 S(A,B) = S(E,H):S(E,H) = 0
1760 X = E:Y = H: GOSUB 1900
1770 X = A:Y = B: IF S(X,Y) = 1 THEN GOSUB 1950
1780 IF S(X,Y) = 2 THEN GOSUB 3000
1790 IF ABS(E -A) < >2 THEN 1810
1795 X = (E +A)/2:Y = (H +B)/2:S(X,Y) = 0: GOSUB 1900
1796 IF B < >7 THEN 1800
1797 X = A:Y = B: GOSUB 3000
1800 INPUT "+TO";A1,B1: IF A1 <0 THEN 1810
1801 IF S(A,B) = 2 OR B1 >B THEN 1803
1802 PRINT "YOU MUST MOVE FORWARD": GOTO 1840
1803 IF A1 >7 OR B1 <0 OR B1 >7 THEN 1840
1804 IF S(A1,B1) < >0 OR ABS(A1 -A) < >2 OR ABS(B1 -B) < >2 THEN 1840
1805 IF ( ABS(A1 -A) = 2) AND (S((A1 +A)/2,(B1 +B)/2) <0) THEN 1809
1806 IF ABS( A1 +A) = 1 THEN 1890
1807 PRINT "YOU CAN ONLY JUMP YOUR OPPONENT (ME)"
1808 GOTO 1840
1809 E = A:H = B:A = A1:B = B1:I = I +15: GOTO 1750
1810 IF B = 7 THEN 1815
1812 GOTO 230
1815 X = A:Y = B: GOSUB 3000:S(X,Y) = 2
1830 GOTO 230
1840 PRINT CHR$(7) CHR$(11);: GOTO 1800
1880 MS$ = "YOU HAVE WON !!":EN = 0
1882 GOSUB 17500
1885 CALL -936: POKE 50,127: PRINT : PRINT : POKE 36,13: PRINT MS$: POKE 50,255: IF EN = 1 THEN GOSUB 16150: GOTO 1890
1887 FOR I = 0 TO 4000:I = I: NEXT I
1890 CALL -1233: CALL -936: POKE 50,255: END
52 SQR8 COLOR= 11
52 STEP 8 COLOR= 11
1900 COLOR= 1
1910 Y1 = 7 -Y: FOR J1 = 0 TO 1: HLIN 4 +X *4,5 +X *4 AT J1 +4 +Y1 *4: NEXT J1: RETURN
1950 COLOR= PC:Y1 = 7 -Y: GOTO 1910
2000 COLOR= CC: GOTO 1910
2050 COLOR= CC
2060 X1 = 4 +X *4:Y1 = 4 +(7 -Y) *4: PLOT X1,Y1: PLOT 1 +X1,1 +Y1: COLOR= 11: PLOT X1 +1,Y1: PLOT X1,1 +Y1: RETURN
3000 COLOR= PC: GOTO 2060
16150 X = 48: FOR Z = 1 TO LEN(E$) STEP 4: FOR I = 0 TO 3:R(I) = ASC( MID$ (E$,Z +I,1)) -X: NEXT I:Z1 = R(0) *R(1) +R(2):Z2 = 40 -Z1: POKE 776,Z2: POKE 777,40: POKE 804,R(3)
16160 CALL (778): NEXT Z: RETURN
17000 H = 3 + INT(30 * RND(1)):T = H *H *5 +H *26 +70:V = 32767/T: POKE 776,H: POKE 777,V -256 * INT(V/256): POKE 804,(V >255) +1: CALL 778: RETURN
17200 R = INT(16 * RND(1)): COLOR= R: HLIN 0,39 AT J:R = INT(16 * RND(1)): COLOR= R: VLIN 0,39 AT J: RETURN
17500 II = 1 +II -39 * INT(II/39):J = II: GOSUB 17200: GOSUB 17000:J = 39 -II: GOSUB 17200: GOSUB 17000:MM = MM +1: IF MM = 30 THEN RETURN
17520 GOTO 17500
Text found in 110_Volume_110.dsk/COMMODITY MARKET.bas:
10 MM$ = "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
20 CM$ = "HOGS PLATINUMEGGS SOYBEANSLUMBER COTTON "
30 DIM CP(5,12)
40 DIM PO(4,5,12),CA(4)
50 CALL -936
55 VTAB 4: HTAB 5: PRINT "----------------------------"
60 VTAB 5: HTAB 5: PRINT "** APPLE COMMODITY MARKET **"
62 VTAB 6: HTAB 5: PRINT "----------------------------"
63 PRINT : HTAB 8: PRINT "YOUR BROKER: JIM HILGER"
65 VTAB 15: PRINT "ENTER 'INF' FOR A COMMAND LIST.": VTAB 17: PRINT "ENTER 'GEN' TO OBTAIN OPENING PRICES."
70 MO = 0
80 FOR I = 1 TO 4:CA(I) = 1000
85 FOR J = 1 TO 5: FOR K = 1 TO 12:PO(I,J,K) = 0: NEXT K: NEXT J: NEXT I
90 FOR I = 1 TO 12
100 CP(1,I) = 50
110 CP(2,I) = 100
120 CP(3,I) = 10
130 CP(4,I) = 45
140 CP(5,I) = 30
160 NEXT I
1000 VTAB 23: INPUT ">:";A$
1010 IF MO = 0 THEN 1090
1020 IF A$ = "PFO" THEN 2000
1030 IF A$ = "999" THEN 50
1040 IF A$ = "QUO" THEN 3000
1060 IF A$ = "BUY" THEN 4000
1080 IF A$ = "SEL" THEN 5000
1085 IF MO = 12 THEN 1095
1090 IF A$ = "GEN" THEN 6000
1095 IF A$ = "INF" THEN 8000
1100 VTAB 22: PRINT "COMMAND?": CALL 65338: GOTO 1000
2000 REM PORTFOLIO
2020 VTAB 22: PRINT "ENTER ACCOUNT NUMBER (1-4): "
2030 VTAB 23: PRINT " "
2040 VTAB 23: INPUT ">:";AC
2060 AC = INT(AC)
2080 IF AC <1 OR AC >4 THEN 2090
2085 GOTO 2100
2090 CALL 65338: GOTO 2020
2100 CALL -936
2120 PRINT : HTAB 8: INVERSE
2130 PRINT " "
2135 HTAB 8
2140 PRINT " ACCOUNT#";AC;" PORTFOLIO "
2150 HTAB 8: PRINT " "
2155 NORMAL
2160 PRINT : HTAB 12: PRINT "CASH: ";CA(AC)
2180 PRINT
2200 FOR I = 1 TO 5: FOR J = 1 TO 12
2210 IF PO(AC,I,J) = 0 THEN 2300
2220 IF J < >MO THEN 2240
2230 PRINT " ** "; MID$ (MM$,(J -1) *3 +1,3);
2232 PRINT " "; MID$ (CM$,(I -1) *8 +1,8);
2234 PRINT " ";PO(AC,I,J);"/";CP(I,J)
2236 GOTO 2300
2240 IF J :";AC,MN$,CN$
4060 K = 0: FOR I = 1 TO 5
4080 IF CN$ = MID$ (CM$,(I -1) *8 +1,4) THEN K = I
4100 NEXT I
4120 IF K = 0 THEN CALL 65338: VTAB 22: PRINT "INVALID COMMODITY-CODE. RE-ENTER: ": GOTO 4040
4140 L = 0: FOR I = MO +1 TO 12
4160 IF MN$ = MID$ (MM$,(I -1) *3 +1,3) THEN L = I
4180 NEXT I
4200 IF L = 0 THEN CALL 65338: VTAB 22: PRINT "INVALID MONTH. RE-ENTER: ": GOTO 4040
4220 AC = INT(AC): IF AC <1 OR AC >4 THEN CALL 65338: VTAB 22: PRINT "INVALID ACCOUNT NUMBER. RE-ENTER: ": GOTO 4040
4230 IF PO(AC,K,L) >0 THEN CALL 65338: VTAB 22: PRINT "ERROR: ONE CONTRACT ALLOWED PER FUTURE ": GOTO 1000
4235 IF PO(AC,K,L) <0 THEN 4270
4240 CA(AC) = CA(AC) -CP(K,L) *10
4250 CA(AC) = INT(CA(AC) *100)/100
4260 PO(AC,K,L) = CP(K,L): GOTO 4280
4270 CALL 65338: CALL 65338: VTAB 22: PRINT "*** SHORT SALE CLOSED OUT *** "
4271 FOR PAUSE = 1 TO 1000: NEXT PAUSE
4272 CA(AC) = CA(AC) -PO(AC,K,L) *10 -(PO(AC,K,L) +CP(K,L)) *100
4274 CA(AC) = INT(CA(AC) *100)/100
4276 PO(AC,K,L) = 0
4280 VTAB 22: PRINT "TRANSACTION COMPLETED. CASH= ";CA(AC);" ": VTAB 23: PRINT " ": GOTO 1000
5000 REM SELL
5020 VTAB 22: PRINT "ENTER ACCOUNT, MONTH, COMMODITY-CODE:"
5030 VTAB 23: PRINT " "
5040 VTAB 23: INPUT ">:";AC,MN$,CN$
5060 K = 0: FOR I = 1 TO 5
5080 IF CN$ = MID$ (CM$,(I -1) *8 +1,4) THEN K = I
5100 NEXT I
5120 IF K = 0 THEN CALL 65338: VTAB 22: PRINT "INVALID COMMODITY-CODE. RE-ENTER: ": GOTO 5040
5140 L = 0: FOR I = MO +1 TO 12
5160 IF MN$ = MID$ (MM$,(I -1) *3 +1,3) THEN L = I
5180 NEXT I
5200 IF L = 0 THEN CALL 65338: VTAB 22: PRINT "INVALID MONTH. RE-ENTER: ": GOTO 5040
5220 AC = INT(AC): IF AC <1 OR AC >4 THEN CALL 65338: VTAB 22: PRINT "INVALID ACCOUNT NUMBER. RE-ENTER: ": GOTO 5040
5230 IF PO(AC,K,L) <0 THEN CALL 65338: VTAB 21: PRINT "ERROR: ONE CONTRACT ALLOWED PER FUTURE ": GOTO 1000
5235 IF PO(AC,K,L) >0 THEN 5270
5240 CA(AC) = CA(AC) -CP(K,L) *10
5250 CA(AC) = INT(CA(AC) *100)/100
5255 CALL 65338: CALL 65338: VTAB 22: PRINT "*** SHORT SALE *** ": FOR PAUSE = 1 TO 1000: NEXT PAUSE
5260 PO(AC,K,L) = -CP(K,L): GOTO 5280
5270 CA(AC) = CA(AC) +PO(AC,K,L) *10 +(CP(K,L) -PO(AC,K,L)) *100
5272 CA(AC) = INT(CA(AC) *100)/100
5274 PO(AC,K,L) = 0
5280 VTAB 22: PRINT "TRANSACTION COMPLETED. CASH= ";CA(AC);" ": VTAB 23: PRINT " ": GOTO 1000
6000 REM NEW MONTH
6020 CALL -936: VTAB 12: HTAB 6: PRINT "GENERATING NEXT QUOTATION"
6030 MO = MO +1
6040 FOR I = 1 TO 5: FOR J = MO TO 12
6050 IF RND(1) >.95 THEN CP(I,J) = CP(I,J) *1.7
6055 IF RND(1) <.05 THEN CP(I,J) = CP(I,J) *.5
6060 CP(I,J) = INT(CP(I,J) *( RND(1)/5 +1) *100)/100
6070 CP(I,J) = INT(CP(I,J) *(1 - RND(1)/5.5) *100)/100
6080 NEXT J,I
6100 FOR I = 1 TO 4: FOR J = 1 TO 5
6120 IF PO(I,J,MO) = 0 THEN 6300
6140 IF PO(I,J,MO) <0 THEN 6200
6160 CA(I) = CA(I) +PO(I,J,MO) *10 +(CP(J,MO) -PO(I,J,MO)) *100
6180 CA(I) = INT(CA(I) *100)/100
6190 GOTO 6300
6200 CA(I) = CA(I) -PO(I,J,MO) *10 -(CP(J,MO) +PO(I,J,MO)) *100
6220 CA(I) = INT(CA(I) *100)/100
6300 NEXT J,I
6320 GOTO 3000
7000 VTAB 22: PRINT " "
7020 VTAB 23: PRINT " "
7040 RETURN
8000 CALL -936
8020 PRINT : PRINT "COMMODITY COMMANDS:"
8040 PRINT
8060 HTAB 5: PRINT "PFO - PRINT PORTFOLIO"
8070 HTAB 5: PRINT "QUO - PRINT CURRENT QUOTATIONS"
8080 HTAB 5: PRINT "BUY - TO BUY A CONTRACT"
8090 HTAB 5: PRINT "SEL - TO SELL A CONTRACT"
8100 HTAB 5: PRINT "GEN - GENERATE NEW PRICES"
8120 HTAB 5: PRINT "INF - PRINT THIS INFO SCREEN"
8140 PRINT : PRINT
8160 PRINT "ENTER 'GEN' TO OBTAIN OPENING PRICE": PRINT "QUOTATIONS."
8180 PRINT : PRINT "ENTER 'INF' AGAIN AT ANY TIME TO DIS-": PRINT "PLAY THE POSSIBLE COMMANDS."
8190 PRINT : PRINT "CONTRACTS ARE BOUGHT (OR SOLD SHORT) AT": PRINT "10 PERCENT OF MARKET PRICE--BUT THE"
8195 PRINT "BUYER WILL ENJOY 100 PERCENT OF ALL": PRINT "PROFITS OR LOSSES."
8200 GOTO 1000
Text found in 110_Volume_110.dsk/CRAPS I.bas:
5 TEXT
6 HOME : PRINT : PRINT : PRINT "CRAPS": PRINT : PRINT " BY RICK LONGBRAKE": PRINT : PRINT : PRINT : PRINT
7 PRINT : PRINT "READY TO BEGIN";: INPUT Z$: IF Z$ = "NO" THEN 6
10 HOME
100 PRINT "CARE FOR A GAME OF CRAPS"
110 PRINT : PRINT "THE RULES ARE:"
120 PRINT : PRINT "7 OR 11 ON THE FIRST ROLL WINS": PRINT
130 PRINT "2,3 OR 12 ON THE FIRST ROLL LOSES": PRINT
140 PRINT "ANY OTHER NUMBER BECOMES YOUR POINT"
150 PRINT "YOU CONTINUE TO ROLL....IF YOU GET YOUR"
160 PRINT "POINT YOU WIN....IF YOU ROLL A 7 YOU": PRINT "LOSE.": PRINT
170 PRINT "THE DICE CHANGE HANDS WHEN YOU": PRINT "LOSE."
180 PRINT : PRINT "BET 0 TO QUIT."
190 PRINT : PRINT "HIT RETURN TO PLAY."
195 X = PEEK( -16384)
200 IF X <127 THEN 195
210 POKE -16368,0
215 HOME
220 Z = 5 * INT(10 +11 * RND(5))
225 PRINT "YOU HAVE ";Z;" DOLLARS TO START WITH"
250 IF N -2 * INT(N/2) = 0 THEN 310
260 W = -1
270 PRINT "I'LL ROLL FIRST"
300 GOTO 350
310 W = 1
320 PRINT "YOU ROLL FIRST"
350 Q = 0
360 PRINT "HOW MUCH DO YOU BET";
370 INPUT B
380 GR
390 IF B = INT(B) THEN 430
400 PRINT "NO COINS PERMITTED....JUST BILLS, PLEASE"
420 GOTO 360
430 IF B = 0 THEN 1090
440 IF B 1 THEN 504
502 GOSUB 3000
504 GOSUB 3200
505 Y = 0
506 ON D1 GOSUB 3500,3600,3700,3800,3900,4000
507 Y = 19
508 ON D2 GOSUB 3500,3600,3700,3800,3900,4000
510 IF W >0 THEN 540
520 PRINT "I ROLL ";D1;" AND ";D2;
530 GOTO 550
540 PRINT "YOU ROLL ";D1;" AND ";D2;
550 IF Q < >1 THEN 860
560 IF (S -2) *(S -3) *(S -12) = 0 THEN 640
570 IF (S -7) *(S -11) = 0 THEN 710
573 GOSUB 5400
575 ON S GOSUB 4600,4600,4600,4700,4800,4900,4600,5000,5100,5200,5300,4500
580 IF W >0 THEN 610
590 PRINT "SO MY POINT IS ";S
600 GOTO 620
610 PRINT "SO YOUR POINT IS ";S
620 P = S
630 GOTO 470
640 PRINT "... AND CRAP OUT..."
650 C = 1
660 IF W >0 THEN 690
670 Z = Z +B
680 GOTO 770
690 Z = Z -B
700 GOTO 770
710 PRINT "...AND PASS"
720 C = 1
730 IF W >0 THEN 760
740 Z = Z -B
750 GOTO 770
760 Z = Z +B
770 IF Z <1 THEN 1070
790 PRINT "YOU NOW HAVE ";Z;" DOLLARS"
795 IF Z >2500 THEN 1150
800 IF C >0 THEN 830
810 PRINT "CHANGE DICE NOW"
830 W = W *C
840 Q = 0
850 GOTO 360
860 IF S < >7 THEN 940
870 PRINT "AND LOSE"
880 C = -1
890 IF W >0 THEN 920
900 Z = Z +B
910 GOTO 770
920 Z = Z -B
930 GOTO 770
940 IF S = P THEN 970
950 PRINT " ROLL AGAIN"
960 GOTO 470
970 IF W >0 THEN 1020
980 PRINT "AND MAKE MY POINT"
990 C = 1
1000 Z = Z -B
1010 GOTO 770
1020 PRINT "AND MAKE YOUR POINT"
1030 C = 1
1040 Z = Z +B
1050 GOTO 770
1070 PRINT "YOU HAVE RUN OUT OF MONEY...COME BACK SOON";
1080 GOTO 1110
1090 PRINT "THANKS FOR THE GAME AND CONGRATULATIONS"
1100 PRINT "FOR BEING ABLE TO QUIT WHILE YOU'RE": PRINT "AHEAD";
1110 GOTO 9999
1120 GOTO 9999
1150 PRINT "YOU HAVE JUST BROKEN THE BANK....": PRINT "THIS TABLE WILL HAVE TO CLOSE";
1160 GOTO 9999
2000 BEEP = RND(6) *10 +1
2005 C = -16336
2008 FOR B NG = 1 TO BEEP
2010 FOR DING = B NG TO BEEP
2120 U = PEEK(C) + PEEK(C) - PEEK(C)
2130 NEXT DING
2135 NEXT B NG
2150 RETURN
3000 COLOR= 4
3010 FOR I = 1 TO 38
3020 HLIN 1,38 AT I
3030 NEXT I
3040 RETURN
3200 COLOR= 15
3205 FOR I = 8 TO 33
3210 HLIN 3,17 AT I
3220 HLIN 22,36 AT I
3230 NEXT I
3250 RETURN
3500 COLOR= 0
3510 PLOT Y +10,20: PLOT Y +10,21
3520 RETURN
3600 COLOR= 0
3610 PLOT Y +5,11: PLOT Y +5,12
3620 PLOT Y +15,30: PLOT Y +15,31
3630 RETURN
3700 GOSUB 3500
3710 GOSUB 3600
3720 RETURN
3800 GOSUB 3600
3810 PLOT Y +15,11: PLOT Y +15,12
3820 PLOT Y +5,30: PLOT Y +5,31
3830 RETURN
3900 GOSUB 3500
3910 GOSUB 3800
3920 RETURN
4000 GOSUB 3800
4010 PLOT Y +5,20: PLOT Y +5,21
4020 PLOT Y +15,20: PLOT Y +15,21
4030 RETURN
4500 COLOR= 9
4510 HLIN 20,23 AT 2
4520 PLOT 23,3
4530 HLIN 20,23 AT 4
4540 PLOT 20,5
4550 HLIN 20,23 AT 6
4560 VLIN 2,6 AT 17
4580 RETURN
4600 RETURN
4700 COLOR= 9
4710 VLIN 2,6 AT 20
4720 VLIN 2,4 AT 18
4730 HLIN 18,21 AT 4
4750 RETURN
4800 COLOR= 9
4810 HLIN 18,21 AT 2
4820 HLIN 18,21 AT 4: HLIN 18,21 AT 6
4830 PLOT 18,3: PLOT 21,5
4840 RETURN
4900 COLOR= 9
4910 VLIN 2,6 AT 18
4920 HLIN 18,20 AT 4: HLIN 18,20 AT 6: PLOT 20,5
4930 RETURN
5000 COLOR= 9
5010 VLIN 2,6 AT 18: VLIN 2,6 AT 20
5020 HLIN 18,20 AT 2: HLIN 18,20 AT 6: HLIN 18,20 AT 4
5030 RETURN
5100 COLOR= 9
5110 VLIN 2,4 AT 18: VLIN 2,6 AT 20
5120 HLIN 18,20 AT 2: HLIN 18,20 AT 4
5130 RETURN
5120 COLOR= 9
5200 COLOR= 9
5210 VLIN 2,6 AT 17
5220 VLIN 2,6 AT 19: VLIN 2,6 AT 21
5230 HLIN 19,21 AT 2: HLIN 19,21 AT 6
5240 RETURN
5300 RETURN
5400 COLOR= 4
5410 FOR I = 2 TO 7
5420 HLIN 10,30 AT I
5430 NEXT I
5440 RETURN
9999 END
Text found in 110_Volume_110.dsk/CRYPTOGRAMS.bas:
110 GOSUB 2000: REM INIT
120 GOSUB 3000: REM TITLE
140 GOSUB 1000: REM GEN CODE
150 GOSUB 5000: REM PICK DATA
160 GOSUB 6000: REM CONVERT DATA TO CODE
170 GOSUB 7000: REM PRINT CODE
190 GOSUB 9000: REM GET ANSWER
192 CALL -958
200 PRINT : PRINT : PRINT "YOUR RIGHT!"
202 IF X$ = "H" THEN PRINT : PRINT "TOO BAD YOU NEEDED HELP.": GOTO 220
210 IF AN$ = "W" THEN GOTO 11000: REM TRY AGAIN?
220 PRINT : PRINT "PLAY AGAIN? ";: GET A$: PRINT A$
230 IF A$ = "Y" THEN 140
240 HOME : VTAB 10: HTAB 18: PRINT "BYE!": END
1000 REM *** GEN CODE ***
1002 HOME : VTAB 10: FLASH : HTAB 18: PRINT "WAIT": NORMAL
1004 X$ = ""
1010 FOR I = 1 TO 26:C$(I) = "*": NEXT
1030 FOR I = 1 TO 26
1040 X = INT(26 *( RND(1))) +1
1050 IF C$(X) < >"*" THEN 1040
1060 C$(X) = A$(I): NEXT
1070 RETURN
2000 REM *** INIT ***
2010 DIM A$(26),C$(26),T$(100),N(100)
2230 FOR I = 1 TO 26: READ A$(I): NEXT
2240 FOR I = 1 TO 100: READ T$(I)
2250 IF T$(I) < >"END" THEN NEXT
2252 T = I -1
2260 GOSUB 5900
2270 RETURN
3000 REM *** TITLE ***
3010 HOME : VTAB 8
3012 PRINT " T V S H O W": PRINT
3020 PRINT " C R Y P T O G R A M S"
3030 PRINT : PRINT " BY JOHNNY GRAHAM"
3040 VTAB 22: PRINT "INSTRUCTIONS? ";: GET A$: PRINT A$
3050 IF A$ = "Y" THEN 4000
3060 RETURN
4000 REM *** INSTRUCTIONS ***
4010 HOME
4020 VTAB 5: PRINT " CRYPTOGRAMS ARE SIMPLE SUBSTITUTION CODES - ANOTHER LETTER OF THE ALPHABET IS SUBSTITUTED FOR THE RIGHT LETTER."
4030 PRINT : PRINT "'APPLE CORP' MIGHT BE WRITTEN AS 'ORRCI PBAR', O FOR A, R FOR P, C FOR L,I FOR E, P FOR C, B FOR O, A FOR R."
4040 PRINT : PRINT "I WILL PRINT THE CRYPTOGRAM THEN LET YOU TYPE THE CODE AND THEN YOUR GUESS FOR THE LETTER."
4042 PRINT : PRINT "IF YOU NEED HELP JUST TYPE '?'."
4050 VTAB 21: PRINT "PRESS ANY KEY TO PLAY ";: GET A$: PRINT A$
4060 RETURN
5000 REM *** PICK DATA ***
5002 N = N +1: IF N >T THEN GOSUB 5900
5010 X = INT(T *( RND(2))) +1
5012 IF N(X) < >0 THEN 5010
5014 N(X) = X
5020 T$ = T$(X)
5030 RETURN
5900 N = 0: FOR I = 1 TO T:N(I) = 0: NEXT
5910 RETURN
6000 REM *** CONVERT TO CODE ***
6002 T1$ = "":AN$ = ""
6010 L = LEN(T$)
6020 FOR I = 1 TO L
6030 P = ( ASC( MID$ (T$,I,1))) -64
6032 IF P <1 THEN T1$ = T1$ + MID$ (T$,I,1): GOTO 6042
6040 T1$ = T1$ +C$(P)
6042 NEXT
6044 T2$ = T1$
6050 RETURN
7000 REM *** PRINT CODE ***
7010 HOME : VTAB 4
7020 PRINT T1$
7030 RETURN
9000 REM *** GET ANSWERS ***
9020 FOR I = 1 TO L
9030 IF MID$ (T$,I,1) >"@" AND MID$ (T$,I,1) <"[" THEN AN$ = AN$ +"_": GOTO 9042
9040 AN$ = AN$ + MID$ (T$,I,1)
9042 NEXT
9050 VTAB 10
9052 IF X$ < >"H" THEN PRINT AN$: GOTO 9059
9053 FOR I = 1 TO L:AX$ = MID$ (AN$,I,1): IF AX$ >"@" AND AX$ <"[" THEN 9055
9054 PRINT AX$;: GOTO 9057
9055 IF AX$ = MID$ (T$,I,1) THEN 9054
9056 INVERSE : PRINT AX$;: NORMAL
9057 NEXT
9058 PRINT
9059 IF AN$ = T$ THEN RETURN
9060 VTAB 15
9062 IF X$ < >"H" THEN PRINT "PRESS '?' FOR HELP.": GOTO 9068
9064 PRINT "THE INVERSE LETTERS '";: INVERSE : PRINT " ";: NORMAL : PRINT "' ARE WRONG."
9068 CALL -958
9070 VTAB 20: GET A1$
9080 IF A1$ = "?" THEN 9200
9090 PRINT A1$;" = ";: GET A2$: PRINT A2$
9092 XX$ = AN$:AN$ = ""
9100 FOR I = 1 TO L
9110 IF MID$ (T1$,I,1) = A1$ THEN AN$ = AN$ +A2$: GOTO 9130
9120 AN$ = AN$ + MID$ (XX$,I,1)
9130 NEXT
9150 GOTO 9050
9200 REM *** HELP ***
9210 X$ = "H": GOTO 9050
9900 RETURN
60000 DATA A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
60001 DATA B.J. AND THE BEAR
60002 DATA LOVE BOAT
60003 DATA FANTASY ISLAND
60004 DATA DUKES OF HAZZARD
60005 DATA ROCKFORD FILES
60006 DATA DALLAS
60007 DATA TONIGHT SHOW
60008 DATA AS THE WORLD TURNS
60009 DATA DAYS OF OUT LIVES
60010 DATA LAVERNE AND SHIRLEY
60020 DATA QUINCY
60030 DATA CAROL BURNETT SHOW
60040 DATA MARY TYLER MOORE SHOW
60050 DATA BOB NEWHART
60060 DATA PM MAGAZINE
60061 DATA FAMILY FEUD
60062 DATA I DREAM OF JEANNIE
60063 DATA HOLLYWOOD SQUARES
60064 DATA CHARLIE'S ANGELS
60065 DATA DIFF'RENT STROKES
60066 DATA EIGHT IS ENOUGH
60067 DATA HAPPY DAYS
60068 DATA THREE'S COMPANY
60069 DATA HART TO HART
60070 DATA LITTLE HOUSE ON THE PRAIRIE
60071 DATA THE WHITE SHADOW
60072 THEMUPPETS
60073 NEW LYWEDGAME
60074 MIKEDOUGLAS
60075 WKRPINCINCINN AT I
60076 LOU GR ANT
60077 TO NIGHTSHOW
60100 DATA END
Text found in 110_Volume_110.dsk/FRUSTRATION.bas:
1 REM BY JOE GARBER, WITH LOGIC FROM CREATIVE COMPUTING
2 S$ = "124501230023560147002456836900457807890056890"
3 GOTO 61
4 REM GRAPHICS ROUTINES FOLLOW
5 FOR I = MM TO KK
6 HLIN AA,AA +11 AT I
7 NEXT I
8 AA = AA +11
9 RETURN
10 COLOR= 13: VLIN 3,9 AT 5: RETURN
11 COLOR= 13: HLIN 17,20 AT 3: VLIN 4,5 AT 21: HLIN 19,20 AT 6: HLIN 18,19 AT 7: HLIN 17,18 AT 8: HLIN 17,21 AT 9: RETURN
12 COLOR= 13: HLIN 29,32 AT 3: VLIN 4,5 AT 33: HLIN 31,32 AT 6: VLIN 7,8 AT 33: HLIN 29,32 AT 9: RETURN
13 COLOR= 13: VLIN 16,19 AT 4: HLIN 4,8 AT 19: VLIN 16,22 AT 7: RETURN
14 COLOR= 13: HLIN 17,21 AT 16: VLIN 16,18 AT 17: HLIN 18,20 AT 19: VLIN 20,21 AT 21: HLIN 17,20 AT 22: RETURN
15 COLOR= 13: HLIN 30,33 AT 16: VLIN 17,21 AT 29: HLIN 29,32 AT 19: HLIN 30,32 AT 22: VLIN 20,21 AT 33: RETURN
16 COLOR= 13: HLIN 4,7 AT 29: VLIN 29,35 AT 7: RETURN
17 COLOR= 13: HLIN 18,20 AT 29: HLIN 18,20 AT 32: HLIN 18,20 AT 35: VLIN 30,31 AT 17: VLIN 30,31 AT 21: VLIN 33,34 AT 17: VLIN 33,34 AT 21: RETURN
18 COLOR= 13: HLIN 30,32 AT 29: HLIN 30,32 AT 32: VLIN 30,31 AT 29: VLIN 30,35 AT 33: RETURN
19 TEXT : HOME : PRINT " INSTRUCTIONS"
20 PRINT "***************************************"
21 PRINT : PRINT : PRINT "FRUSTRATION IS A MADDENING LOGIC GAME": PRINT "INVENTED BY PEOPLE AT THE DIGITAL": PRINT "GROUP": PRINT : PRINT
22 PRINT "THE OBJECT OF THE GAME IS TO CHANGE THE": PRINT "PATTERN OF BLUE AND RED TILES SO THAT": PRINT "ALL TILES EXCEPT THE CENTER TILE ARE": PRINT "BLUE": PRINT : PRINT :
23 PRINT "THE CENTER TILE MUST BE RED": PRINT : PRINT :
24 PRINT "THE GAME BOARD IS NUMBERED AS FOLLOWS:": PRINT : PRINT " 1 2 3": PRINT " 4 5 6": PRINT " 7 8 9"
25 PRINT "HIT ANY KEY TO CONTINUE ";: GET W$: PRINT W$: HOME
26 PRINT "TO MOVE, KEY THE NUMBER OF THE TILE YOU": PRINT "WISH TO TURN BUT REMEMBER";:: PRINT " YOU CAN ONLY": PRINT "TURN BLUE TILES!!": PRINT : PRINT
27 PRINT "THE RESULTS OF TURNING A TILE ARE:": PRINT : PRINT "1 - A CORNER TILE, WHEN TURNED, WILL": PRINT "ALSO TURN THE THREE TILES ADJACENT TO": PRINT "IT. FOR EXAMPLE, IF YOU TURN SQUARE #1"
28 PRINT : PRINT " B R R"
29 PRINT " B B R"
30 PRINT " R B R"
31 PRINT : PRINT : PRINT "THE PATTERN WILL CHANGE TO:": PRINT : PRINT :
32 PRINT " R B R"
33 PRINT " R R R"
34 PRINT " R B R": PRINT "HIT ANY KEY TO CONTINUE ";: GET W$: PRINT W$: HOME
35 PRINT "2 - AN TILE AT THE CENTER OF AN EDGE,": PRINT "WHEN TURNED, WILL ALSO TURN THE TILES": PRINT "ALONG THAT EDGE. FOR EXAMPLE TURNING ": PRINT "TILE #2:": PRINT : PRINT
36 PRINT " R B R"
37 PRINT " B B B"
38 PRINT " R R B": PRINT : PRINT
39 PRINT "WILL RESULT IN THE FOLLOWING:": PRINT : PRINT
40 PRINT " B R B"
41 PRINT " B B B"
42 PRINT " R R B": PRINT : PRINT
43 PRINT "HIT ANY KEY TO CONTINUE ";: GET W$: PRINT W$: HOME
44 PRINT "3 - FINALLY TURNING THE CENTER TILE": PRINT "(TILE #5) WILL CHANGE TILES EXCEPT": PRINT "THE CORNER TILES, FOR EXAMPLE:": PRINT : PRINT
45 PRINT " R B B"
46 PRINT " R B R"
47 PRINT " B B B"
48 PRINT : PRINT : PRINT "WILL CHANGE TO:": PRINT : PRINT
49 PRINT " R R B"
50 PRINT " B R B"
51 PRINT " B R B": PRINT : PRINT
52 PRINT "HIT ANY KEY TO CONTINUE ";: GET W$: PRINT W$: HOME
53 PRINT "REMEMBER THE WINNING PATTERN IS:": PRINT : PRINT
54 PRINT " B B B"
55 PRINT " B R B"
56 PRINT " B B B": PRINT : PRINT : PRINT
57 PRINT "ENTRY OF A '0' ENDS THE GAME": PRINT : PRINT
58 INVERSE : PRINT "AND, REMEMBER, YOU CAN ONLY TURN BLUE": PRINT "SQUARES": NORMAL : PRINT : PRINT :
59 PRINT "HIT ANY KEY TO CONTINUE ": GET W$: PRINT W$
60 RETURN
61 DIM B(9),S$(45),W$(8)
62 M = 0: GOSUB 89
63 TEXT : CALL -936: PRINT : PRINT : PRINT : PRINT : PRINT " FRUSTRATION": PRINT : PRINT : PRINT : PRINT :
64 PRINT "DO YOU WANT INSTRUCTIONS ?";: GET A$: PRINT A$: IF A$ = "Y" THEN GOSUB 19
65 GR
66 GOSUB 99
67 GOSUB 124
68 IF W$ < >"" THEN 76
69 PRINT "ENTER YOUR MOVE ";: GET X: PRINT X
70 IF X = 0 THEN 83
71 GOSUB 133
72 IF E = 1 THEN 69
73 GOSUB 140
74 M = M +1
75 GOTO 66
76 PRINT : PRINT
77 IF W$ = "WON" THEN PRINT "Y O U W I N ! !"
78 IF W$ = "LOST" THEN PRINT " Y O U L O S E ! ! ! !"
79 PRINT
80 PRINT "IT TOOK YOU ";M;" MOVES"
81 PRINT "PLAY ANOTHER GAME? ";: INPUT A$
82 IF A$ = "Y" THEN 62
83 TEXT : HOME
84 FOR I = 1 TO 90
85 PRINT " QUITTER!! ";
86 NEXT I
87 END
88 TEXT : CALL -936: END
89 S = 0
90 FOR I = 1 TO 9
91 T = RND(2)
92 IF T < = .9 THEN B(I) = 0
93 IF T >.9 THEN B(I) = 1
94 S = S +B(I)
95 NEXT I
96 IF S = 0 THEN 90
97 RETURN
98 REM
99 PRINT "YOU HAVE MADE ";M;" MOVES"
100 KK = 11:MM = 0
101 COLOR= B(1) +1: GOSUB 5
102 GOSUB 10
103 AA = AA +2
104 COLOR= B(2) +1: GOSUB 5
105 GOSUB 11
106 AA = AA +2
107 COLOR= B(3) +1: GOSUB 5
108 AA = 0
109 GOSUB 12
110 MM = 13:KK = 24: COLOR= B(4) +1: GOSUB 5
111 GOSUB 13
112 AA = AA +2: COLOR= B(5) +1: GOSUB 5
113 GOSUB 14
114 AA = AA +2: COLOR= B(6) +1: GOSUB 5
115 GOSUB 15
116 AA = 0:MM = 26:KK = 37: COLOR= B(7) +1: GOSUB 5
117 GOSUB 16
118 AA = AA +2: COLOR= B(8) +1: GOSUB 5
119 GOSUB 17
120 AA = AA +2: COLOR= B(9) +1: GOSUB 5
121 GOSUB 18
122 AA = 0:MM = 0:KK = 0:JJ = 0:ZZ = 0
123 RETURN
124 S = 0
125 W$ = ""
126 FOR I = 1 TO 9
127 S = S +B(I)
128 NEXT I
129 IF S = 0 THEN W$ = "LOST"
130 IF S < >8 THEN 132
131 IF B(5) = 0 THEN W$ = "WON"
132 RETURN
133 E = 0
134 IF X >9 THEN 137
135 IF B(X) = 0 THEN 137
136 RETURN
137 PRINT "ILLEGAL MOVE -- RE-ENTER "
138 E = 1
139 RETURN
140 REM
141 FOR I = (5 *X -4) TO 5 *X
142 T = VAL( MID$ (S$,I,1))
143 IF B(T) = 0 THEN B(T) = 1: GOTO 145
144 B(T) = 0
145 NEXT I
146 RETURN
Text found in 110_Volume_110.dsk/GEOGRAPHY II.bas:
1 REM **********************
2 REM * GEOGRAPHY *
3 REM * BY *
4 REM * JONATHAN AMSTERDAM *
5 REM * *
6 REM * APPLE II VERSION *
7 REM * BY WILLIAM DAVIS *
8 REM * *
9 REM **********************
20 CA = 4
30 A = 350
40 DIM B$(A),U$(A)
45 HOME : VTAB 12: HTAB 15
48 PRINT "GEOGRAPHY"
50 FOR I = 1 TO A: READ B$(I): NEXT I
60 HOME : VTAB 12: PRINT "DO YOU WANT INSTRUCTIONS?";: GET IN$
65 IF LEFT$(IN$,1) < >"Y" THEN 230
70 HOME : PRINT " THIS IS A GAME OF GEOGRAPHY. ONE"
80 PRINT "PLAYER NAMES A GEOGRAPHICAL LOCATION."
85 PRINT "THE OTHER PLAYER MUST THEN NAME A"
90 PRINT "LOCATION WHOSE FIRST LETTER IS THE"
95 PRINT "SAME AS THE LAST LETTER IN THE PRE-"
100 PRINT "CEEDING WORD. YOU WILL PLAY AGAINST"
105 PRINT "THE COMPUTER. ONLY THE FOLLOWING "
110 PRINT "CATAGORIES WILL BE USED:"
112 PRINT
115 FOR I = 1 TO CA: READ C$: HTAB 20: PRINT C$: NEXT I
120 VTAB 24: PRINT " << PRESS THE SPACE BAR TO CONTINUE >>";
122 IF PEEK( -16384) <127 THEN 122
124 POKE -16368,0
125 HOME
130 PRINT " THE COMPUTER WILL TELL YOU IF THE"
135 PRINT "LETTERS OF YOUR ENTRY AND THE PRE-"
140 PRINT "CEEDING WORD DON'T MATCH, THE WORD"
145 PRINT "HAS ALREADY BEEN USED, OR THE WORD"
150 PRINT "IS NOT IN THE COMPUTER'S MEMORY."
155 PRINT : PRINT " IF YOU CANNOT THINK OF A CORRECT"
160 PRINT "RESPONSE, YOU MAY TYPE 'CHALLENGE'."
165 PRINT "IF YOU HAVE REALLY EXHAUSTED ALL"
170 PRINT "POSSIBLE RESPONSES, YOU'VE WON."
175 PRINT "OTHERWISE, THE COMPUTER WILL PRINT"
180 PRINT "OUT A POSSIBLE RESPONSE, AND YOU LOSE."
220 VTAB 24: PRINT " << PRESS THE SPACE BAR TO BEGIN >>";: GET ST$
230 U = 0:C = 0: HOME : VTAB 12: PRINT "DO YOU WANT TO GO FIRST?";: GET IN$
235 PRINT : PRINT
240 IF LEFT$(IN$,1) = "N" THEN 250
245 C = 1: GOTO 260
250 R$ = CHR$( INT( RND(1) *26 +65))
252 GOTO 400
255 C = 0
260 PRINT : INPUT A$: IF C = 1 THEN 300
270 IF A$ = "CHALLENGE" THEN 550
280 IF LEFT$(A$,1) = R$ THEN 300
290 PRINT "******* LETTERS DON'T MATCH *******"
295 GOTO 260
300 FOR E = 1 TO U
310 IF A$ < >U$(E) THEN 330
320 PRINT "******* ALREADY USED *******"
325 GOTO 260
330 NEXT E
340 FOR E = 1 TO A
350 IF A$ < >B$(E) THEN 370
360 GOTO 390
370 NEXT E
380 PRINT "******* ILLEGAL WORD *******"
385 GOTO 260
390 R$ = RIGHT$(A$,1):U = U +1:U$(U) = A$
400 G = INT( RND(1) *A +1):H = A
410 FOR E = G TO H
420 IF LEFT$(B$(E),1) < >R$ THEN 480
430 FOR I = 1 TO U
440 IF B$(E) = U$(I) THEN 480
450 NEXT I
455 PRINT : PRINT
460 PRINT B$(E):U = U +1:U$(U) = B$(E)
470 R$ = RIGHT$(B$(E),1)
475 GOTO 255
480 NEXT E
490 IF G = 1 THEN 510
500 H = G:G = 1: GOTO 410
505 PRINT
510 PRINT "YOU WIN"
520 PRINT : PRINT "PLAY AGAIN?";: GET IN$
530 IF IN$ = "Y" THEN 230
540 HOME : END
550 REM CHALLENGE SUBROUTINE
560 FOR E = 1 TO A
570 IF LEFT$(B$(E),1) < >R$ THEN 620
580 FOR I = 1 TO U
590 IF B$(E) = U$(I) THEN 620
600 NEXT I
610 PRINT B$(E): PRINT : PRINT "YOU LOSE": GOTO 520
620 NEXT E: GOTO 510
630 DATA "NEW YORK","NEW JERSEY","PENNSYLVANIA","CONNECTICUT","ALABAMA"
640 DATA "VERMONT","NEW HAMPSHIRE","MAINE","FLORIDA","MASSACHUSETTS"
650 DATA "GEORGIA","SOUTH CAROLINA","RHODE ISLAND","UTAH","INDIANA"
660 DATA "NORTH CAROLINA","VIRGINIA","SOUTH DAKOTA","OHIO","OREGON"
670 DATA "NEW MEXICO","NORTH DAKOTA","WISCONSIN","MICHIGAN","IDAHO"
680 DATA "CALIFORNIA","MISSISSIPPI","KANSAS","NEBRASKA","IOWA"
690 DATA "WASHINGTON","MONTANA","MINNESOTA","KENTUCKY","TENNESSEE"
700 DATA "LOUISIANA","DELEWARE","MARYLAND","ARKANSAS","COLORADO"
710 DATA "ARIZONA","WEST VIRGINIA","TEXAS","NEVADA","OKLAHOMA"
720 DATA "WYOMING","MISSOURI","ALASKA","HAWAII","ILLINOIS"
730 DATA "MONTGOMERY","JUNEAU","PHOENIX","LITTLE ROCK","SACRAMENTO"
740 DATA "DENVER","HARTFORD","DOVER","TALLAHASSEE","ATLANTA"
750 DATA "HONOLULU","BOISE","SPRINGFIELD","INDIANAPOLIS","DES MOINES"
760 DATA "TOPEKA","FRANKFORT","BATON ROUGE","AUGUSTA","ANNAPOLIS"
770 DATA "LANSING","ST.PAUL","JACKSON","JEFFERSON CITY","HELENA"
780 DATA "LINCOLN","CARSON CITY","CONCORD","TRENTON","SANTA FE"
790 DATA "ALBANY","RALEIGH","BISMARCK","COLUMBUS","OKLAHOMA CITY"
800 DATA "SALEM","HARRISBURG","PROVIDENCE","COLUMBIA","PIERRE"
810 DATA "NASHVILLE","AUSTIN","SALT LAKE CITY","MONTPELIER","RICHMOND"
820 DATA "OLYMPIA","CHARLESTON","MADISON","CHEYENNE","BOSTON"
830 DATA "AFGHANISTAN","ALBANIA","ALGERIA","ANGOLA","ARGENTINA"
840 DATA "AUSTRALIA","AUSTRIA","BAHAMAS","BAHRAIN","BANGLADESH"
850 DATA "BARBADOS","BELGIUM","BENIN","BHUTAN","BOLIVIA"
860 DATA "BOTSWANA","BRAZIL","BULGARIA","BURMA","BURUNDI"
870 DATA "BYELORUSSIA","CAMEROON","CANADA","CAPE VERDE","CENTRAL AFRICAN EMPIRE"
880 DATA "ANDORRA","CAMBODIA","BRITISH HONDURAS","CHAD","CHILE"
890 DATA "CHINA","COLUMBIA","COMOROS","CONGO","COSTA RICA"
900 DATA "CUBA","CYPRUS","CZECHOSLOVAKIA","CENTRAL AFRICAN REPUBLIC","DAHOMEY"
910 DATA "DENMARK","DJIBOUTI","DOMINICAN REPUBLIC","ECUADOR","EGYPT"
920 DATA "EL SALVADOR","EQUATORIAL GUINEA","ETHIOPIA","ENGLAND","FIJI"
930 DATA "FINLAND","FRANCE","GABON","GAMBIA","GHANA"
940 DATA "EAST GERMANY","WEST GERMANY","GERMANY","GREECE","GRENADA"
950 DATA "GUATAMALA","GUINEA","GUINEA-BISSAU","GREAT BRITAIN","GUYANA"
960 DATA "HAITI","HONDURAS","HUNGARY","HOLLAND","ICELAND"
970 DATA "INDIA","INDONESIA","IRAN","IRAQ","IRELAND"
980 DATA "ISRAEL","ITALY","IVORY COAST","JAMAICA","JAPAN"
990 DATA "JORDAN","KAMPUCHEA","KENYA","KUWAIT","NORTH KOREA"
1000 DATA "SOUTH KOREA","KOREA","LAOS","LEBANON","LESOTHO"
1010 DATA "LIBERIA","LIBYA","LUXEMBOURG","LIECHTENSTEIN","MADAGASCAR"
1020 DATA "MALAWI","MALAYSIA","MALDIVES","MALI","MALTA"
1030 DATA "MAURITANIA","MAURITIUS","MEXICO","MONGOLIA","MOROCCO"
1040 DATA "MOZAMBIQUE","MALAYA","MALAGASY","NEPAL","NETHERLANDS"
1050 DATA "NEW ZEALAND","NICARAGUA","NIGER","NIGERIA","NORWAY"
1060 DATA "OMAN","PAKISTAN","PANAMA","PAPUA NEW GUINEA","PARAGUAY"
1070 DATA "PERU","PHILLIPINES","POLAND","PORTUGAL","QATAR"
1080 DATA "ROMANIA","RWANDA","RHODESIA","SAMOA","SOA TOME E PRINCIPE"
1090 DATA "SAUDI ARABIA","SENEGAL","SEYCHELLES","SIERRA LEONE","SINGAPORE"
1100 DATA "SOMALIA","SOUTH AFRICA","SPAIN","SRI LANKA","SUDAN"
1110 DATA "SURINAM","SWAZILAND","SWEDEN","SYRIA","SCOTLAND"
1120 DATA "SWITZERLAND","TANZANIA","THAILAND","TOGO","TRINIDAD"
1130 DATA "TUNISIA","TURKEY","UGANDA","UKRAINE","UNION OF SOVIET SOCIALIST REPUBLICS"
1140 DATA "USSR","UNITED ARAB EMIRATES","UNITED KINGDOM","UNITED STATES","UPPER VOLTA"
1150 DATA "URUGUAY","VENEZUALA","VIETNAM","VATICAN CITY","YEMEN"
1160 DATA "SOUTH YEMEN","YUGOSLAVIA","ZAIRE","ZAMBIA","RUSSIA"
1170 DATA "WALES","ZANZIBAR","MONOCCO","TIBET","USA"
1180 DATA "MEXICO CITY","TOKYO","SHANGHAI","PARIS","BUENOS AIRES"
1190 DATA "OSAKA","MOSCOW","SAO PAULO","PEKING","SEOUL"
1200 DATA "LOS ANGELES","LONDON","CALCUTTA","CHICAGO","BOMBAY"
1210 DATA "CAIRO","ESSEN","PHILADELPHIA","RIO DE JANEIRO","JAKARTA"
1220 DATA "DETROIT","HONG KONG","LENINGRAD","TIENTSIN","TEHERAN"
1230 DATA "BANGKOK","DELHI","NEW DELHI","MADRID","KARACHI"
1240 DATA "SAN FRANCISCO","OAKLAND","LIMA","SANTIAGO","MADRAS"
1250 DATA "BERLIN","EAST BERLIN","WEST BERLIN","ISTANBUL","MANILA"
1260 DATA "SYDNEY","ROME","BOGOTA","SHENYANG","MONTREAL"
1270 DATA "PUSAN","TORONTO","MELBOURNE","YOKOHAMA","WUHAN"
1280 DATA "ATHENS","DALLAS","FORT WORTH","PITTSBURGH","MANCHESTER"
1290 DATA "ST. LOUIS","BIRMINGHAM","CHUNGKING","ALEXANDRIA","HOUSTON"
1300 DATA "CANTON","CARACAS","LAHORE","NAGOYA","CLEVELAND"
1310 DATA "BUDAPEST","RANGOON","NEWARK","MINNEAPOLIS","KINSHASA"
1320 DATA "TAIPEI","XENIA","KATHMANDU","PORT MORESBY","BRUSSELS"
2000 DATA "U.S. STATES","U.S. STATE CAPITALS"
2010 DATA "COUNTRIES","MAJOR WORLD CITIES"
Text found in 110_Volume_110.dsk/HANGMAN II.bas:
10 DIM B$(20),Z$(10)
11 PRINT "HANGMAN BY RICK LONGBRAKE"
12 X = RND(3) *175 + 1
14 N = INT(X)
20 FOR I = 1 TO N
30 READ A$
40 NEXT I
60 B = LEN(A$)
100 FOR I = 1 TO 20
110 B$(I) = "-"
120 NEXT I
130 PRINT : PRINT "HANGMAN-----THE WORD GAME-----"
138 GOSUB 6000
140 PRINT "YOUR WORD HAS ";B;" LETTERS"
150 FOR I = 1 TO B
160 PRINT TAB( 14);B$(I);
170 NEXT I
190 N1 = 1
200 PRINT ,
203 PRINT "ENTER GUESS # ";N1;: INPUT Q$
206 F = 0
210 FOR I = 1 TO B
220 IF MID$ (A$,I, 1) = Q$ THEN 250
230 GOTO 400
250 B$(I) = Q$
260 F = 1
400 NEXT I
420 FOR I = 1 TO B
450 PRINT TAB( 14);B$(I);
455 NEXT I
460 PRINT : PRINT
472 FOR I = 1 TO B
473 IF B$(I) = "-" THEN 480
475 NEXT I
476 GOTO 1010
480 IF F = 1 THEN 492
482 COLOR= 13
483 ON N1 GOSUB 2800,2900,3000,3200,3400,3600,3800,4000,4200,4400,4600,4800
484 IF F = 1 THEN 492
485 N1 = N1 +1
486 IF N1 >10 THEN 2010
487 Z$(N1) = Q$
492 PRINT "LETTERS USED:";
494 FOR J = 1 TO N1
496 PRINT Z$(J );
498 NEXT J
499 PRINT ;
500 GOTO 200
1010 PRINT "HEY, YOU GOT IT !"
1012 PRINT "THE WORD WAS: ";A$
1015 GOTO 9999
2010 PRINT "YOU LOSE TURKEY"
2020 PRINT "THE WORD WAS:",A$
2100 GOTO 9999
2800 COLOR= 9: VLIN 8,36 AT 35
2850 RETURN
2900 COLOR= 9: HLIN 20,39 AT 10
2950 RETURN
3000 HLIN 22,24 AT 15: HLIN 22,24 AT 16: HLIN 22,24 AT 14
3100 RETURN
3200 VLIN 16,27 AT 23
3250 RETURN
3400 PLOT 22,28: PLOT 22,29: PLOT 21,30: PLOT 21,31: PLOT 20,32: PLOT 20,33: PLOT 19,34: PLOT 19,35
3500 RETURN
3600 PLOT 24,28: PLOT 24,29: PLOT 25,30: PLOT 25,31: PLOT 26,32: PLOT 26,33: PLOT 27,34: PLOT 27,35
3700 RETURN
3800 PLOT 22,19: PLOT 21,20: PLOT 20,21: PLOT 19,22
3900 RETURN
4000 PLOT 24,19: PLOT 25,20: PLOT 26,21: PLOT 27,22
4100 RETURN
4200 COLOR= 7
4220 PLOT 23,11: PLOT 23,12: PLOT 23,13: PLOT 23,17: PLOT 22,17: PLOT 21,16: PLOT 24,17: PLOT 25,16
4300 RETURN
4400 COLOR= 0
4410 HLIN 17,29 AT 36
4420 FOR CC = 1 TO 15
4430 COLOR= CC
4440 FOR AG = 1 TO 6
4450 ON AG GOSUB 3000,3200,3400,3600,3800,4000
4460 NEXT AG
4470 NEXT CC
4500 RETURN
6000 GR
6010 COLOR= 9
6020 HLIN 10,38 AT 36: VLIN 36,39 AT 10: VLIN 36,39 AT 38
6030 RETURN
8000 DATA "ALIEN", "ALIBI","ALIVE","ALLOW","ALMS"
8010 DATA "GAME","LIFE","ARROWHEAD","BATTERY","RECORD"
8020 DATA "TIME","COMPUTER","APPLE","BOOK","DICTIONARY"
8030 DATA "EACH","DISTANCE","ANIMAL","ERRONEOUSLY","SCIENTIST"
8040 DATA "EXAMPLE","TENSION","MOUSTACHE","DIFFERENT","PHYSICS"
8050 DATA "YEAST","BREAD","BAKE","COOKIES","EAT"
8060 DATA "LINEAR","ALGEBRA","CALCULUS","AMBIGUITY","LIMIT"
8070 DATA "LOVE","HATE","FEAR","JOG","SUN"
8080 DATA "SON","LAUGHTER","CRY","GRADE","EXAM"
8090 DATA "CHRISTMAS","BUY","GIFTS","TRAFFIC","PAY"
8100 DATA "VACATION","TURKEY","EJECT","PUNCTUATION","REFLECTION"
8110 DATA "EXPRESS","NEIGHBOR","CHILD","KITTEN","STOVE"
8120 DATA "ALTITUDE","ATTITUDE","COMMENT","REMARK","INSTRUMENTS"
8130 DATA "BALANCE","LIST","CHECK","MONEY","BROKE"
8140 DATA "AUTOMOBILE","CROCODILES","LABORATORY","UNIVERSITY","UNEMPLOYMENT"
8150 DATA "ENCYCLOPEDIA","FLOWER","ROSE","DAISY","ENCHILADAS"
8160 DATA "TORTILLA","MATADOR","PICADOR","BULL","BORDER"
8170 DATA "STATE","COUNTRY","NATION","UNIVERSE","COUNTY"
8180 DATA "MISTAKE","ERROR","MESS","CORRECT","COMPUTE"
8190 DATA "TRAVEL", "TRIP", "FLY","CRUISE","JOURNEY"
8200 DATA "AMONG","AMORPHOUS","AMORAL","AMORTIZE","AMPHIBIAN"
8220 DATA "AMPERE","ANGLE","TOXIN","APEX","APPARATUS"
8240 DATA "APPOINT","ASSASSINATE","ASSAY","ESSAY","ASSET"
8260 DATA "BASS","BAT","BATTALION","BATTEN","BATH"
8280 DATA "BEATITUDE","BEASTLY","BEAGLE","BEHOLD","BEWITCHMENT"
8300 DATA "BROADCAST","BUTTON","BUZZARD","CABIN","CABLE"
8310 DATA "CADDY","CARROT","CARTOON","CHECK","CHASTE"
8320 DATA "CLEAR","COFFEE","COFFIN","COHERENT","COLD"
8330 DATA "COMBINATION","COMMONPLACE","COMMISSIONER","COMMENTARY","COMPASS"
8340 DATA "CONTROL","CONVICT","DART","DAUGHTER","DEFINITION"
8350 DATA "COWBOYS","CHEERLEADERS","FOOTBALL","BEER","HOCKEY"
8360 DATA "DETECT","DIZZY","
8779 ,"DOMAIN","DOUGH"
8470 DATA "ECHO","ECSTASY","ELECTRIC","ELEPHANT","EMULSION"
8480 DATA "YEAST","LEAST","YEARLING",YELLOW","YARD"
8490 DATA "ZENITH","ZEBRA","ZINC","ZODIAC","ZOOM"
9999 END
Text found in 110_Volume_110.dsk/LUNAR LANDING BW.bas:
1 CALL -936
2 PRINT TAB( 18);"LEM"
3 PRINT : PRINT
7 PRINT "LEM, AN INTERACTIVE GAME THAT SIMULATES A LUNAR LANDING AND IS SIMILAR TO THAT OF THE APOLLO PROGRAM."
9 PRINT "THERE IS ABSOLUTELY NO CHANCE INVOLVED"
10 Z$ = "GO"
15 B1 = 1
20 M = 17.95
25 F1 = 5.25
30 N = 7.5
35 R0 = 926
40 V0 = 1.29
45 T = 0
50 H0 = 60
55 R = R0 +H0
60 A = -3.425
65 R1 = 0
70 A1 = 8.84361E -04
75 R3 = 0
80 A3 = 0
85 M1 = 7.45
90 M0 = M1
95 B = 750
100 T1 = 0
105 F = 0
110 P = 0
115 N = 1
120 M2 = 0
125 S = 0
130 C = 0
135 IF Z$ = "YES" THEN 1150
140 PRINT
145 PRINT "*** LUNAR LANDING SIMULATION ***"
150 PRINT
155 PRINT "HAVE YOU FLOWN AN APOLLO/LEM MISSION BEFORE ";
160 PRINT " (YES OR NO) ";
165 INPUT Q$
170 IF Q$ = "YES" THEN 190
175 IF Q$ = "NO" THEN 205
180 PRINT "JUST ANSWER THE QUESTION, PLEASE, ";
185 GOTO 160
190 PRINT
195 PRINT "INPUT MEASUREMENT OPTION NUMBER ";
200 GOTO 225
205 PRINT
210 PRINT "WHICH SYSTEM OF MEASUREMENT TO YOU FAVOR"
215 PRINT " 1=METRIC 0=ENGLISH "
220 PRINT " ENTER THE APPROPRIATE NUMBER ";
225 INPUT K
230 PRINT
235 IF K = 0 THEN 280
240 IF K = 1 THEN 250
245 GOTO 220
250 Z = 1852.8
255 M$ = " METERS"
260 G3 = 3.6
265 N$ = " KILOMETERS"
270 G5 = 1000
275 GOTO 305
280 Z = 6080
285 M$ = " FEET"
290 G3 = .592
295 N$ = "N. MILES"
300 G5 = Z
305 IF B1 = 3 THEN 670
310 IF Q$ = "YES" THEN 485
315 PRINT
320 PRINT "YOU ARE ON A LUNAR LANDING MISSION."
321 PRINT
325 PRINT "AS PILOT OF THE LUNAR EXCURSION MODULE, YOU WILL BE EXPECTED TO GIVE CERTAIN COMMANDS TO THE MODULE NAVIGATION SYSTEM"
330 PRINT
335 PRINT "THE ON-BOARD COMPUTER WILL GIVE A RUNNING ACCOUNT OF INFORMATION NEEDED TONAVIGATE THE SHIP."
345 PRINT : PRINT
355 PRINT "THE ATTITUDE ANGLE CALLED FOR IS DESCRIBED AS FOLLOWS:"
360 PRINT "+ OR -180 DEGREES IS DIRECTLY AWAY FROM THE MOON"
365 PRINT "-90 DEGREES IS ON A TANGENT IN THE DIRECTION OF ORBIT."
370 PRINT "+90 DEGREES IS ON A TANGENT FROM THE DIRECTION OF ORBIT."
375 PRINT "0 (ZERO) DEGREES IS DIRECTLY TOWARD THE MOON"
380 PRINT "PRESS ANY KEY TO CONTINUE"
382 GET A$
385 PRINT TAB( 15);"-180,180"
390 PRINT TAB( 19);"^"
395 PRINT TAB( 12);"-90 < -+- > 90"
400 PRINT TAB( 19);"!"
405 PRINT TAB( 19);"0"
410 PRINT TAB( 8);"<< DIRECTION OF ORBIT <<"
415 PRINT
420 PRINT TAB( 12);"SURFACE OF MOON"
425 PRINT : PRINT
435 PRINT "ALL ANGLES BETWEEN -180 AND 180 DEGREES ARE ACCEPTED."
440 PRINT
445 PRINT "1 FUEL UNIT = 1 SEC. AT MAX THRUST"
450 PRINT "ANY DISCREPANCIES ARE ACCOUNTED FOR IN THE USE OF FUEL FOR AN ALTITUDE CHANGE."
455 PRINT
460 PRINT "AVAILABLE ENGINE POWER: 0 (ZERO) AND ANYVALUE BETWEEN 10 AND 100 PERCENT."
468 PRINT : PRINT : PRINT
470 PRINT "PRESS ANY KEY TO CONTINUE"
472 GET A$
473 PRINT : PRINT : PRINT
475 PRINT "NEGATIVE THRUST OR TIME IS PROHIBITED."
480 PRINT
485 PRINT
490 PRINT "INPUT: TIME INTERVAL IN SECONDS----(T)"
495 PRINT " PERCENTAGE OF THRUST--------(P)"
500 PRINT " ATTITUDE ANGLE IN DEGREES---(A)"
505 PRINT
510 IF Q$ = "YES" THEN 535
515 PRINT "FOR EXAMPLE:"
520 PRINT "T,P,A ? 10,65,-60"
521 PRINT
525 PRINT "TO ABORT THE MISSION AT ANY TIME, ENTER 0,0,0"
530 PRINT
535 PRINT "OUTPUT:TOTAL TIME IN SECONDS."
540 PRINT " HEIGHT IN";M$"."
545 PRINT " DISTANCE FROM LANDING SITE IN ";M$;"."
550 PRINT " VERTICAL VELOCITY IN";M$;"/SEC."
551 PRINT
555 PRINT " HORIZ. VELOCITY IN";M$;"/SEC."
560 PRINT " FUEL UNITS REMAINING."
561 PRINT
565 PRINT "PRESS ANY KEY TO CONTINUE"
567 GET A$
568 CALL -936
570 GOTO 670
575 PRINT
580 PRINT "T,P,A";
585 INPUT T1,F,P
590 F = F/100
595 IF T1 <0 THEN 905
600 IF T1 = 0 THEN 1090
605 IF ABS(F -.05) >1 THEN 945
610 IF ABS(F -.05) <.05 THEN 945
615 IF ABS(P) >180 THEN 925
620 N = 20
625 IF T1 <400 THEN 635
630 N = T1/20
635 T1 = T1/N
640 P = P *3.14159/180
645 S = SIN(P)
650 C = COS(P)
655 M2 = M0 *T1 *F/B
660 R3 = -.5 *R0 *((V0/R) ^2) +R *A1 *A1
665 A3 = -2 *R1 *A1/R
670 FOR I = 1 TO N
675 IF M1 = 0 THEN 715
680 M1 = M1 -M2
685 IF M1 >0 THEN 725
690 F = F *(1 +M1/M2)
695 M2 = M1 +M2
700 PRINT "YOU ARE OUT OF FUEL."
705 M1 = 0
710 GOTO 725
715 F = 0
720 M2 = 0
725 M = M -.5 *M2
730 R4 = R3
735 R3 = -.5 *R0 *((V0/R) ^2) +R *A1 *A1
740 R2 = (3 *R3 -R4)/2 +.00526 *F1 *F *C/M
745 A4 = A3
750 A3 = -2 *R1 *A1/R
755 A2 = (3 *A3 -A4)/2 +.0056 *F1 *F *S/(M *R)
760 X = R1 *T1 +.5 *R2 *T1 *T1
765 R = R +X
770 H0 = H0 +X
775 R1 = R1 +R2 *T1
780 A = A +A1 *T1 +.5 *A0 *T1 *T1
785 A1 = A1 +A2 *T1
790 M = M -.5 *M2
795 T = T +T1
800 IF H0 <3.287828E -04 THEN 810
805 NEXT I
810 H = H0 *Z
815 H1 = R1 *Z
820 D = R0 *A *Z
825 D1 = R *A1 *Z
830 T2 = M1 *B/M0
835 PRINT " ";T;,;H; TAB( 28);D
840 PRINT " ";H1;,;D1; TAB( 28);T2
845 IF H0 <3.287828E -04 THEN 880
850 IF R0 *A >164.4736 THEN 1050
855 IF M1 >0 THEN 580
860 T1 = 20
865 F = 0
870 P = 0
875 GOTO 620
880 IF R1 < -8.21957E -04 THEN 1020
885 IF ABS(R *A1) >4.931742E -04 THEN 1020
890 IF H0 < -3.287828E -04 THEN 1020
895 IF ABS(D) >10 *Z THEN 1065
900 GOTO 995
905 PRINT
910 PRINT "THIS SPACECRAFT IS NOT ABLE TO VIOLATE THE SPACE-";
915 PRINT "TIME CONTINUUM."
920 GOTO 575
925 PRINT
930 PRINT "IF YOU WANT TO SPIN AROUND, GO OUTSIDE THE MODULE FOR AN E.V.A."
940 GOTO 575
945 PRINT
950 PRINT "IMPOSSIBLE THRUST VALUE ";
955 IF F <0 THEN 985
960 IF F -.05 <.05 THEN 975
965 PRINT "TOO LARGE"
970 GOTO 575
975 PRINT "TOO SMALL"
980 GOTO 575
985 PRINT "NEGATIVE"
990 GOTO 575
995 PRINT
1000 PRINT "TRANQUILITY BASE HERE--THE EAGLE HAS LANDED"
1005 PRINT "CONGRATULATIONS--THERE WAS NO SPACE- CRAFT DAMAGE"
1010 PRINT "YOU MAY NOW PROCEED WITH SURFACE EXPLORATION."
1015 GOTO 1100
1020 PRINT
1025 PRINT "CRASH!!!!!!!!!!!!!!"
1030 PRINT "YOUR IMPACT CREATED A CRATER "; ABS(H);M$;" DEEP."
1035 X1 = SQR(D1 *D1 +H1 *H1) *G3
1040 PRINT "AT CONTACT YOU WERE TRAVELING ";X1;N$;"/HR."
1045 GOTO 1100
1050 PRINT
1055 PRINT "YOU HAVE BEEN LOST IN SPACE WITH NO HOPEOF RECOVERY."
1060 GOTO 1100
1065 PRINT "YOU ARE DOWN SAFELY -"
1075 PRINT
1080 PRINT "BUT MISSED THE LANDING SITE BY "; ABS(D/G5);N$
1085 GOTO 1100
1090 PRINT
1095 PRINT "MISSION ABENDED"
1100 PRINT
1105 PRINT "DO YOU WANT TO TRY IT AGAIN (YES/NO) ?"
1110 INPUT Z$
1115 IF Z$ = "YES" THEN 20
1120 IF Z$ = "NO" THEN 1130
1125 GOTO 1105
1130 PRINT
1135 PRINT "TOO BAD, THE SPACE PROGRAM HATES TO LOSEEXPERIENCED ASTRONAUTS.
1145 GOTO 1215
1150 PRINT
1155 PRINT "OK,DO YOU WANT THE COMPLETE INSTRUCTIONSOR THE INPUT-OUTPUT STATEMENTS?"
1165 PRINT "1=COMPLETE INSTRUCTIONS"
1170 PRINT "2=INPUT-OUTPUT STATEMENTS"
1175 PRINT "3=NEITHER"
1177 CALL -936
1180 INPUT B1
1185 Q$ = "NO"
1190 IF B1 = 1 THEN 205
1195 Q$ = "YES"
1200 IF B1 = 2 THEN 190
1205 IF B1 = 3 THEN 190
1210 GOTO 1165
1215 END
Text found in 110_Volume_110.dsk/MARKET CRASH.X.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 43 00 88 76 00 00 00 44 00 87 08 00 00 00 41 00 C..v...D ......A.
$000010 88 73 00 00 00 41 53 8C 09 80 00 00 42 00 87 06 .s...AS. ....B...
$000020 00 00 00 42 45 8E 03 08 00 00 42 55 87 48 00 00 ...BE... ..BU.H..
$000030 00 57 41 85 49 47 AE 14 42 52 88 4C 00 00 00 43 .WA.IG.. BR.L...C
$000040 41 8C 27 E0 00 00 43 48 82 85 1E B8 52 44 41 84 A.'`..CH ...8RDA.
$000050 00 00 00 00 46 45 00 00 00 00 00 46 4C 00 00 00 ....FE.. ...FL...
$000060 00 00 49 4E 8D 32 20 00 00 4B 45 88 0D 00 00 00 ..IN.2 . .KE.....
$000070 4C 41 85 60 00 00 00 4D 41 82 80 00 00 00 4D 30 LA.`...M A.....M0
$000080 82 00 00 00 00 50 52 86 18 00 00 00 53 45 00 00 .....PR. ....SE..
$000090 00 00 00 53 48 8C 54 80 00 00 51 55 81 00 00 00 ...SH.T. ..QU....
$0000A0 00 53 54 84 40 00 00 00 54 49 8A 7A 00 00 00 57 .ST.@... TI.z...W
$0000B0 45 83 00 00 00 00 59 45 8B 77 60 00 00 41 56 85 E.....YE .w`..AV.
$0000C0 38 A3 D7 0A 45 00 88 7A 00 00 00 46 00 87 0C 00 8#W.E..z ...F....
$0000D0 00 00 47 00 88 7B 00 00 00 48 00 88 15 00 00 00 ..G..{.. .H......
$0000E0 44 C9 01 43 09 00 00 41 80 00 3E 21 00 00 43 C8 DI.C...A ..>!..CH
$0000F0 02 FB 95 00 00 49 CE 03 FD 95 00 00 4C 54 8F 1E .{...IN. }...LT..
$000100 02 00 00 4E C1 2E 00 01 00 0D 00 00 00 0E 76 09 ...NA... ......v.
$000110 0E 90 09 0E AA 09 09 C8 09 0E DD 09 0F F7 09 0F ....*..H ..]..w..
$000120 16 0A 0B 31 0A 0E 48 0A 08 67 0A 0C 7C 0A 0F 95 ...1..H. .g..|...
$000130 0A 44 C1 19 00 01 00 06 00 00 00 06 04 0D 07 15 .DA..... ........
$000140 0D 09 27 0D 08 3B 0D 06 4E 0D 4D B0 2E 00 01 00 ..'..;.. N.M0....
$000150 0D 00 00 00 07 0D 0C 08 21 0C 05 36 0C 05 4C 0C ........ !..6..L.
$000160 03 5E 0C 04 6E 0C 04 83 0C 06 94 0C 09 A7 0C 07 .^..n... .....'..
$000170 C2 0C 08 D7 0C 08 ED 0C 54 41 8F 01 02 00 06 00 B..W..m. TA......
$000180 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0001A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0001B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0001C0 00 00 00 00 00 00 00 00 00 00 00 00 83 20 00 00 ........ ..... ..
$0001D0 00 00 00 00 00 00 87 2A 00 00 00 00 00 00 00 00 .......* ........
$0001E0 86 6C 00 00 00 86 18 00 00 00 83 60 00 00 00 00 .l...... ...`....
$0001F0 00 00 00 00 00 00 00 00 00 86 74 00 00 00 85 30 ........ ..t....0
$000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$000210 00 00 00 00 00 00 00 83 80 00 00 00 00 00 00 00 ........ ........
$000220 00 82 80 00 00 00 83 80 00 00 00 82 80 00 00 00 ........ ........
$000230 00 00 00 00 00 00 00 00 00 00 82 C0 00 00 00 83 ........ ...@....
$000240 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$000280 87 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .H...... ........
$000290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0002A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0002B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0002C0 00 8C 09 80 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0002D0 82 00 00 00 00 00 00 00 00 00 82 80 00 00 00 00 ........ ........
$0002E0 00 00 00 00 00 00 00 00 00 82 80 00 00 00 00 00 ........ ........
$0002F0 00 00 00 00 00 00 00 00 00 00 00 00 00 81 80 00 ........ ........
$000300 00 00 82 80 00 00 00 .. .. .. .. .. .. .. .. .. .......
** END **
Text found in 110_Volume_110.dsk/MARKET CRASH.bas:
10 C = 0:D = 0:A = 0:ASSETS = 0:B = 0:BEGINC = 10000:BUY = 0:WAS = 0:BROKER = 0
20 CASH = 10000:CHANGE = 0:DAY = 0:FEES = 0:FLAG = 0:INCOME = 0:KEY = 0:LAST = 0
30 MARKET = -1:M0NTH = 0:PRICE = 0:SELL = 0:SHARES = 0: SPEED= 255:QUARTER = 0
40 ST0CKS = 12:TIME = 1000:WEEK = 0:YEAR = 1979:AVERAGE = 0:E = 0:F = 0:G = 0:H = 0
50 DIM NAME$(ST0CKS),DAY$(5),M0NTH$(12),TABLE(ST0CKS,5)
60 DISK$ = "":A$ = "":CHANGE$ = "":CHECK$ = "":IN$ = ""
70 NAME$(1) = "ALCOA ALUMINUM":NAME$(2) = "APPLE COMPUTER":NAME$(3) = "CBS INDUSTRIES"
80 NAME$(4) = "EXXON OIL":NAME$(5) = "GENERAL MOTORS":NAME$(6) = "HONEYWELL CORP."
90 NAME$(7) = "IBM CORPORATION":NAME$(8) = "INTEL CORP.":NAME$(9) = "LOCKHEED CORP."
100 NAME$(10) = "MOTOROLA":NAME$(11) = "STANDARD OIL":NAME$(12) = "3-M CORPORATION"
110 FOR A = 1 TO ST0CKS: FOR B = 1 TO 4:TABLE(A,B) = 0: NEXT B: NEXT A
120 TEXT : NORMAL : HOME : VTAB (8): PRINT TAB( 10);"*******************": PRINT TAB( 10);"** MARKET CRASH **"
130 PRINT TAB( 10);"** BY DAVE MOGER **": PRINT TAB( 10);"*******************": FOR A = 1 TO TIME: NEXT A
140 FOR A = 1 TO ST0CKS:PRICE = INT( RND(1) *100 +1) +20:WAS = WAS +PRICE:TABLE(A,1) = PRICE
150 CHANGE = INT( RND(1) *5) -2:TABLE(A,5) = CHANGE
160 NEXT A:WAS = INT((WAS/ST0CKS) *100)/100:AVERAGE = WAS
170 M0NTH$(1) = "JANUARY":M0NTH$(2) = "FEBRUARY":M0NTH$(3) = "MARCH"
180 M0NTH$(4) = "APRIL":M0NTH$(5) = "MAY":M0NTH$(6) = "JUNE"
190 M0NTH$(7) = "JULY":M0NTH$(8) = "AUGUST":M0NTH$(9) = "SEPTEMBER"
200 M0NTH$(10) = "OCTOBER":M0NTH$(11) = "NOVEMBER":M0NTH$(12) = "DECEMBER"
210 DAY$(1) = "MONDAY":DAY$(2) = "TUESDAY":DAY$(3) = "WEDNESDAY":DAY$(4) = "THURSDAY":DAY$(5) = "FRIDAY"
220 WEEK = 0:DAY = 0:M0NTH = 1:LAST = 31:QUARTER = 0: REM *** START OF YEAR 1979 ***
230 TEXT : HOME : VTAB (10): PRINT "DO YOU WANT INSTRUCTIONS? ": GOSUB 2620: IF KEY = 206 THEN 650
240 HOME : VTAB (3): PRINT TAB( 15);: INVERSE : PRINT "INSTRUCTIONS:": NORMAL : PRINT : PRINT
250 PRINT " THIS IS A SIMULATION OF THE OPERATIONS": PRINT "OF THE STOCK MARKET (MORE OR LESS).": PRINT "THERE ARE 12 COMPANY STOCKS AVAILABLE": PRINT "FOR TRADE."
260 PRINT " THE OPTIONS YOU HAVE ARE AS FOLLOWS:": PRINT : PRINT TAB( 5);"(B) - BUY STOCK. YOU CAN BUY STOCK": PRINT TAB( 11);"FROM ANY ACTIVE COMPANY,"
270 PRINT TAB( 11);"PROVIDING YOU HAVE THE MONEY": PRINT TAB( 11);"TO DO SO. THERE IS A BROKER'S": PRINT TAB( 11);"FEE OF 6% OR $50.00 (WHICH-"
280 PRINT TAB( 11);"EVER IS HIGHER), PER STOCK": PRINT TAB( 11);"TRANSACTION, WHICH IS": PRINT TAB( 11);"COLLECTED AT THE END OF"
290 PRINT TAB( 11);"THE WEEK.": VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
300 VTAB (12): CALL -958: VTAB (12): PRINT TAB( 5);"(S) - SELL STOCK. YOU MAY SELL ANY": PRINT TAB( 11);"AMOUNT OF YOUR STOCKS, AT": PRINT TAB( 11);"WHICH TIME YOU WILL RECEIVE"
310 PRINT TAB( 11);"THE CURRENT MARKET PRICE": PRINT TAB( 11);"PER SHARE. AS WITH BUYING": PRINT TAB( 11);"STOCK, THERE IS A BROKER'S": PRINT TAB( 11);"FEE PER TRANSACTION.": PRINT : PRINT
320 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
330 VTAB (12): CALL -958: VTAB (12): PRINT TAB( 5);"(E) - STOP GAME. YOU MAY STOP": PRINT TAB( 11);"THE GAME AT ANY TIME. YOU": PRINT TAB( 11);"HAVE TWO OPTIONS:": PRINT TAB( 12);"(1) END CURRENT GAME."
340 PRINT TAB( 12);"(2) SAVE CURRENT GAME TO": PRINT TAB( 16);"DISK FILE. THIS SAVES": PRINT TAB( 16);"GAME VARIABLES SO THAT": PRINT TAB( 16);"THE GAME CAN BE RESUMED": PRINT TAB( 16);"IN PROGRESS."
350 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
360 VTAB (12): CALL -958: VTAB (12): PRINT TAB( 5);"(RETURN) - SIGNALS THAT YOU": PRINT TAB( 11);"ARE "; CHR$(226);"THROUGH FOR THE DAY"; CHR$(226);","
370 PRINT TAB( 11);"AT WHICH TIME THE GAME": PRINT TAB( 11);"WILL PROCEED TO THE NEXT": PRINT TAB( 11);"DAY."
380 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
390 VTAB (4): CALL -958: VTAB (5): PRINT "PROGRAM NOTES:": PRINT : PRINT "(1) THE PROGRAM PICKS MOST RESPONSES": PRINT " DIRECTLY OFF THE KEYBOARD, AND WILL"
400 PRINT " NOT ACCEPT AN INCORRECT INPUT.": PRINT " YOU WILL GET '???' PRINTED FOR AN": PRINT " INCORRECT RESPONSE."
410 PRINT : PRINT "(2) AT THE END OF THE WEEK, YOU WILL GET";: PRINT " A SUMMARY OF THE WEEK'S BUSINESS.": PRINT " THIS SUMMARY DOESN'T NECCESSARILY"
420 PRINT " REFLECT THE WEEK'S INCOME, SINCE": PRINT " STOCK DIVIDENDS AREN'T PAID UNTIL"
430 PRINT " THE END OF THE QUARTER. WHAT THE": PRINT " SUMMARY DOES REFLECT IS YOUR CHANGE": PRINT " IN NET WORTH (ASSETS + CASH)."
440 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
450 VTAB (6): CALL -958: PRINT : PRINT "(3) THE PROGRAM ONLY CHECKS THE FIRST": PRINT " THREE LETTERS OF THE STOCK": PRINT " NAME, SO IT IS ONLY NECCESSARY TO"
460 PRINT " TYPE IN THE FIRST THREE LETTERS OF": PRINT " THE NAME.": PRINT : PRINT " ";: FLASH : PRINT "WARNING!!!": NORMAL : PRINT " IF YOU ARE USING DOS VERSION 3.1,"
470 PRINT " ";: INVERSE : PRINT "DO NOT";: NORMAL : PRINT " TYPE 'INT' FOR THE STOCK": PRINT " NAME!!! THIS WILL PUT YOU IN": PRINT " INTEGER BASIC, AND DESTROY YOUR": PRINT " PROGRAM!!!"
480 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
490 VTAB (6): CALL -958: PRINT : PRINT "(4) THE CHANGE IN VALUE OF A PARTICULAR": PRINT " STOCK IS DETERMINED BY ADDING THE": PRINT " CHANGE IN THE STOCK VALUE AND THE"
500 PRINT " CHANGE IN THE TREND OF THE MARKET.": PRINT " THE STOCK CHANGE WILL BE BETWEEN": PRINT " +1/-1 DAILY, WITH LIMITS SET"
510 PRINT " AT +2 AND -2. THE MARKET WILL": PRINT " ALSO CHANGE BETWEEN +1/-1 DAILY,": PRINT " WITH LIMITS OF +2 AND -3."
520 PRINT " THERE IS, OF COURSE, THE CHANCE OF": PRINT " A DRASTIC CHANGE IN THE VALUE OF": PRINT " THE STOCK, WHICH IS REFLECTED IN": PRINT " THE NAME OF THIS GAME."
530 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620: VTAB (6): CALL -958
540 PRINT : PRINT "(5) GENERALLY, THE STOCK MARKET WILL": PRINT " FOLLOW A GRADUAL UP/DOWN CYCLE, AS": PRINT " WILL EACH INDIVIDUAL STOCK."
550 PRINT " WHICH WAY THE STOCK VALUE WILL GO": PRINT " IS PRETTY MUCH YOUR GUESS...": VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
560 VTAB (4): CALL -958: VTAB (5): PRINT "DISK NOTES:": PRINT : PRINT "(1) OPTION (E) SAVES THE GAME VARIABLE": PRINT " AND ARRAY TABLES IN A BINARY FILE,"
570 PRINT " BUT DOESN'T SAVE THE STRING": PRINT " VARIABLES. ALL VARIABLES ARE": PRINT " DEFINED AT THE START OF THE PROGRAM."
580 PRINT "(2) THE BINARY FILE NAME IS:": PRINT TAB( 10);"MARKET.CRASH.DATA.BASE": PRINT
590 PRINT "(3) THE PROGRAM WAS WRITTEN WITH THE": PRINT " APPLESOFT ROM CARD, AND MIGHT": PRINT " NOT WORK WITH THE RAM VERSION."
600 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620
610 VTAB (6): HTAB (1): CALL -958
620 PRINT : PRINT "(4) DUE TO THE WAY APPLESOFT STORES": PRINT " VARIABLES, ANY MODIFICATION OF THE"
630 PRINT " PROGRAM MAY RESULT IN IT NOT": PRINT " WORKING CORRECTLY WITH PREVIOUSLY": PRINT " SAVED VARIABLE DATA."
640 VTAB (18): PRINT "PRESS ANY KEY TO BEGIN...": GOSUB 2620
650 PRINT DISK$;"NOMON I,O,C"
660 TEXT : NORMAL : HOME : VTAB (7): PRINT "DO YOU WANT TO START A NEW": PRINT "GAME OR CONTINUE AN OLD ONE? "
670 PRINT "(C OR N) >>> ": GOSUB 2620
680 IF KEY = 195 THEN 2560
690 TEXT : HOME
700 REM *** MAIN PROGRAM ***
710 GOSUB 830
720 GOSUB 1300
730 GOSUB 1750
740 GOSUB 1910
750 IF KEY = 194 OR KEY = 211 THEN 780
760 IF KEY = 197 THEN 2360
770 GOTO 700
780 GOSUB 1970
790 IF KEY = 194 THEN GOSUB 2070
800 IF KEY = 211 THEN GOSUB 2210
810 GOSUB 1910
820 GOTO 750
830 REM *** DATE FIGURES ***
840 MARKET = MARKET + INT( RND(1) *3) -1: IF MARKET >2 THEN MARKET = 2
850 IF MARKET < -3 THEN MARKET = -3
860 IF RND(1) >.92 THEN MARKET = -1 *MARKET
870 FLAG = 0:WEEK = WEEK +1:DAY = DAY +1: IF DAY < = LAST THEN 910
880 DAY = DAY -LAST:M0NTH = M0NTH +1: IF M0NTH >12 THEN 2890
890 QUARTER = QUARTER +1: IF QUARTER < >3 THEN 910
900 QUARTER = 0: GOSUB 1670
910 IF WEEK < = 5 THEN 950
920 HOME :LAST = 28: IF M0NTH = 4 OR M0NTH = 6 OR M0NTH = 9 OR M0NTH = 11 THEN LAST = 30
930 IF M0NTH = 1 OR M0NTH = 3 OR M0NTH = 5 OR M0NTH = 7 OR M0NTH = 8 OR M0NTH = 10 OR M0NTH = 12 THEN LAST = 31
940 FLAG = 1:WEEK = 0:A$ = "": GOTO 1200
950 GOSUB 1630: IF M0NTH = 1 AND DAY = 1 THEN GOTO 1060
960 IF M0NTH = 2 AND DAY = 12 THEN GOTO 1070
970 IF M0NTH = 2 AND DAY = 19 THEN GOTO 1080
980 IF M0NTH = 5 AND DAY = 28 THEN GOTO 1090
990 IF M0NTH = 7 AND DAY = 4 THEN GOTO 1100
1000 IF M0NTH = 9 AND DAY = 3 THEN GOTO 1110
1010 IF M0NTH = 10 AND DAY = 8 THEN GOTO 1120
1020 IF M0NTH = 11 AND DAY = 12 THEN GOTO 1130
1030 IF M0NTH = 11 AND DAY = 22 THEN GOTO 1140
1040 IF M0NTH = 12 AND DAY = 25 THEN GOTO 1150
1050 GOTO 1190
1060 A$ = "NEW YEAR'S DAY": GOTO 1160
1070 A$ = "LINCOLN'S BIRTHDAY": GOTO 1160
1080 A$ = "WASHINGTON'S BIRTHDAY": GOTO 1160
1090 A$ = "MEMORIAL DAY": GOTO 1160
1100 A$ = "INDEPENDENCE DAY": GOTO 1160
1110 A$ = "LABOR DAY": GOTO 1160
1120 A$ = "COLUMBUS DAY": GOTO 1160
1130 A$ = "VETERANS DAY": GOTO 1160
1140 A$ = "THANKSGIVING DAY": GOTO 1160
1150 A$ = "CHRISTMAS"
1160 TEXT : HTAB (1): VTAB (2): CALL -958: VTAB (5): INVERSE : PRINT TAB( 10);A$; TAB( 40): FOR A = 1 TO TIME: NEXT A
1170 NORMAL : PRINT : PRINT : PRINT : PRINT TAB( 9);"STOCK MARKET CLOSED...": FOR A = 1 TO (2 *TIME): NEXT A: HOME
1180 GOTO 870
1190 GOSUB 1420: IF FLAG = 0 THEN RETURN
1200 TEXT : VTAB (3): PRINT TAB( 15);"WEEKEND": PRINT : PRINT : PRINT TAB( 9);"STOCK MARKET CLOSED...": FOR A = 1 TO (2 *TIME): NEXT A
1210 PRINT : PRINT : GOSUB 1470:DAY = DAY +1: HOME : GOTO 870
1220 REM *** PLAYER STATUS ***
1230 IF CASH > = 0 AND WEEK >1 THEN 1260
1240 IF LEN(A$) >1 AND WEEK = 2 AND CASH <0 THEN 1260
1250 IF CASH <0 AND WEEK < >1 THEN 2720
1260 FLAG = 0: FOR B = 1 TO ST0CKS: IF TABLE(B,1) >0 THEN FLAG = B
1270 NEXT B: IF FLAG = 0 THEN 2850
1280 FLAG = 0: IF CASH < = 0 AND ASSETS < = 0 THEN 2780
1290 RETURN
1300 REM *** MARKET FIGURES ***
1310 ASSETS = 0: FOR A = 1 TO ST0CKS: IF TABLE(A,1) < = 0 THEN 1400
1320 CHANGE = TABLE(A,5) + INT( RND(1) *3) -1: IF RND(1) >.85 THEN 1360
1330 IF CHANGE >2 THEN CHANGE = 2
1340 IF CHANGE < -2 THEN CHANGE = -2
1350 GOTO 1370
1360 CHANGE = TABLE(A,5) + INT( RND(1) *5) -2
1370 IF RND(1) >.90 THEN CHANGE = -1 *CHANGE
1380 TABLE(A,5) = CHANGE:CHANGE = CHANGE +MARKET:TABLE(A,1) = TABLE(A,1) +CHANGE: IF TABLE(A,1) < = 0 THEN 1410
1390 TABLE(A,2) = CHANGE:TABLE(A,4) = TABLE(A,3) *TABLE(A,1)
1400 ASSETS = ASSETS +TABLE(A,4): NEXT A: GOSUB 1220: RETURN
1410 FOR B = 1 TO 5:TABLE(A,B) = 0: NEXT B: GOTO 1400
1420 REM *** FIRST OF WEEK ***
1430 IF WEEK < >1 AND NOT (WEEK = 2 AND LEN(A$) >1) THEN RETURN
1440 BEGINC = 0:ASSETS = 0: FOR B = 1 TO ST0CKS: IF TABLE(B,1) < = 0 THEN 1460
1450 ASSETS = ASSETS +TABLE(B,4)
1460 NEXT B:BEGINC = CASH +ASSETS: GOSUB 1220: RETURN
1470 REM *** WEEKEND DATA ***
1480 INCOME = 0: HOME : FOR A = 1 TO ST0CKS
1490 INCOME = INCOME +(TABLE(A,1) *TABLE(A,3))
1500 NEXT A: TEXT : VTAB (2): PRINT TAB( 3);"TOTAL INCOME FOR THE WEEK: ": PRINT
1510 PRINT TAB( 5);"CASH AT WEEKEND:"; TAB( 27);"$";CASH: PRINT TAB( 5);"CURRENT PAPER WORTH:"; TAB( 27);"$";INCOME
1520 PRINT TAB( 27);"---------": PRINT TAB( 5);"TOTAL:"; TAB( 27);"$";CASH +INCOME: PRINT
1530 PRINT TAB( 5);"TOTAL ASSETS + CASH": PRINT TAB( 5);"AT BEGINNING OF WEEK:"; TAB( 27);"$";BEGINC: PRINT TAB( 27);"---------"
1540 PRINT TAB( 5);"GROSS WEEK'S INCOME:"; TAB( 27);"$";(CASH +INCOME) -BEGINC: PRINT TAB( 5);"LESS BROKER'S FEES:"; TAB( 27);"$";FEES
1550 PRINT : PRINT : PRINT TAB( 5);"NET WEEK'S INCOME:"; TAB( 27);"$";((CASH +INCOME) -BEGINC) -FEES: PRINT :CASH = CASH -FEES: IF CASH > = 0 THEN 1570
1560 PRINT : PRINT "YOU HAVE UNTIL MONDAY TO BREAK": PRINT "EVEN, OR ELSE!!! (CASH: $";CASH;")"
1570 BEGINC = CASH +INCOME:FEES = 0
1580 VTAB (23): PRINT "PRESS ANY KEY TO CONTINUE...": GOSUB 2620: RETURN
1590 REM *** ASSET PRINTOUT ***
1600 ASSETS = 0: FOR B = 1 TO ST0CKS:TABLE(B,4) = (TABLE(B,1) *TABLE(B,3)):ASSETS = ASSETS +TABLE(B,4): NEXT B
1610 NORMAL : HTAB (1): VTAB (19): CALL -868: VTAB (19): PRINT TAB( 3);"CASH: $";CASH; TAB( 23);"ASSETS: $";ASSETS; TAB( 40)
1620 HTAB (1): VTAB (20): PRINT : RETURN
1630 REM *** DATE PRINTOUT ***
1640 HTAB (1): VTAB (1)
1650 PRINT TAB( 3);"DATE: ";DAY$(WEEK);", ";M0NTH$(M0NTH);" ";DAY;", ";YEAR; TAB( 41)
1660 GOSUB 1220: PRINT TAB( 40): HTAB (1):LTH = FRE(0): RETURN
1670 REM *** DIVIDENDS PAID ***
1680 CASH = CASH + INT(ASSETS *.08): RETURN
1690 REM *** STOCK PRINTOUT ***
1700 HTAB (1):CHANGE$ = STR$(TABLE(A,2)): IF TABLE(A,1) < = 0 THEN 1730
1710 IF TABLE(A,2) >0 THEN CHANGE$ = "+" + STR$(TABLE(A,2))
1720 VTAB (A +4): PRINT NAME$(A); TAB( 18);TABLE(A,1); TAB( 23);CHANGE$; TAB( 27);TABLE(A,3); TAB( 33);TABLE(A,4); TAB( 40);: PRINT : GOTO 1740
1730 VTAB (A +4): PRINT "*** ";NAME$(A);" IS BANKRUPT..."; TAB( 40)
1740 HTAB (1): RETURN
1750 REM *** PRINTOUT ALL ***
1760 WAS = AVERAGE:AVERAGE = 0: HTAB (1)
1770 TEXT : VTAB (3): PRINT "STOCK NAME"; TAB( 17);"CLOSE"; TAB( 23);"CHG"; TAB( 27);"OWNED"; TAB( 33);"WORTH"
1780 FOR A = 1 TO 40: PRINT "=";: NEXT A: PRINT
1790 FOR A = 1 TO ST0CKS: VTAB (A +4): CALL -868: VTAB (A +4): GOSUB 1690
1800 AVERAGE = AVERAGE +TABLE(A,1): NEXT A
1810 VTAB (17): FOR A = 1 TO 40: PRINT "=";: NEXT A: PRINT
1820 AVERAGE = INT((AVERAGE/ST0CKS) *100)/100
1830 HTAB (1): VTAB (18): CALL -868: PRINT " AVERAGE: $";AVERAGE;"/SHARE"; TAB( 28);
1840 CHANGE = INT((AVERAGE *100) -(WAS *100))/100
1850 IF CHANGE < >0 THEN 1870
1860 PRINT "(NO CHANGE)": GOTO 1900
1870 IF CHANGE >0 THEN 1890
1880 PRINT "(DOWN "; ABS(CHANGE);")": GOTO 1900
1890 PRINT "(UP "; ABS(CHANGE);")"
1900 RETURN
1910 REM *** DATA INPUT ***
1920 REM *********************** *** OPTION INPUT ***
1930 TEXT : GOSUB 1590: VTAB (20): CALL -958: VTAB (21): PRINT "(B) - BUY"; TAB( 20);"(S) - SELL"
1940 PRINT "(E) - STOP"; TAB( 20);"(RETURN) - PASS": VTAB (24): PRINT "WHICH FUNCTION DO YOU WANT? ";: GOSUB 2620
1950 IF KEY = 194 OR KEY = 211 OR KEY = 197 OR KEY = 141 THEN RETURN
1960 VTAB (24): HTAB (1): CALL -868: PRINT TAB( 12);"WHAT ???";: FOR B = 1 TO TIME: NEXT B: GOTO 1930
1970 REM *********************** *** STOCK INPUT ***
1980 VTAB (20): PRINT : CALL -958: VTAB (21): INPUT "INPUT STOCK NAME: ";IN$
1990 FLAG = 0:CHECK$ = LEFT$(IN$,3): FOR A = 1 TO ST0CKS
2000 IF CHECK$ = LEFT$(NAME$(A),3) THEN FLAG = A
2010 NEXT A: IF FLAG < >0 THEN 2050
2020 VTAB (21): PRINT : CALL -958: VTAB (22): PRINT IN$;" ???": FOR B = 1 TO TIME: NEXT B
2030 PRINT "THERE IS NO STOCK BY THAT NAME!!!": FOR B = 1 TO (1.5 *TIME): NEXT B: RETURN
2040 PRINT : PRINT "";NAME$(FLAG);" IS BANKRUPT!!!": FOR B = 1 TO (2 *TIME): NEXT B:FLAG = 0: RETURN
2050 IF TABLE(FLAG,1) < = 0 THEN 2040
2060 RETURN
2070 REM *** BUY STOCK ***
2080 A = FLAG: IF FLAG < = 0 THEN RETURN
2090 INVERSE : GOSUB 1690: NORMAL : VTAB (20): PRINT : CALL -958: VTAB (21)
2100 PRINT "HOW MANY SHARES DO YOU": INPUT "WANT TO BUY? ";BUY: IF BUY = 0 THEN 2200
2110 IF BUY <0 THEN 2190
2120 SHARES = TABLE(A,1) *BUY: IF CASH -SHARES <0 THEN 2180
2130 TABLE(A,4) = TABLE(A,4) +SHARES:TABLE(A,3) = TABLE(A,3) +BUY: GOSUB 1690
2140 BROKER = INT(SHARES *.06): IF BROKER <50 THEN 2160
2150 FEES = FEES +BROKER: GOTO 2170
2160 FEES = FEES +50
2170 CASH = CASH -SHARES: GOSUB 1690: RETURN
2180 PRINT : PRINT "NOT ENOUGH MONEY!!!";: FOR B = 1 TO (1.5 *TIME): NEXT B: GOTO 2090
2190 PRINT "SAY WHAT ??? TRY THAT AGAIN!!!": FOR B = 1 TO (1.5 *TIME): NEXT B: GOTO 2090
2200 GOSUB 1690: RETURN
2210 REM *** SELL STOCK ***
2220 A = FLAG: IF A < = 0 THEN RETURN
2230 INVERSE : GOSUB 1690: NORMAL : VTAB (20): PRINT : CALL -958: VTAB (21)
2240 PRINT "HOW MANY SHARES DO YOU": INPUT "WANT TO SELL? ";SELL: IF SELL = 0 THEN 2330
2250 IF SELL >TABLE(A,3) THEN 2340
2260 IF SELL <0 THEN 2350
2270 TABLE(A,3) = TABLE(A,3) -SELL:TABLE(A,4) = TABLE(A,3) *TABLE(A,1)
2280 CASH = CASH +TABLE(A,1) *SELL
2290 BROKER = INT((TABLE(A,1) *SELL) *.06)
2300 IF BROKER <50 THEN 2320
2310 FEES = FEES +BROKER: GOTO 2330
2320 FEES = FEES +50
2330 GOSUB 1690: RETURN
2340 PRINT "??? YOU DON'T HAVE THAT MANY!!!": FOR B = 1 TO (1.5 *TIME): NEXT B: GOTO 2230
2350 PRINT "SAY WHAT ??? TRY THAT AGAIN!!!": FOR B = 1 TO (1.5 *TIME): NEXT B: GOTO 2230
2360 REM *** VARIABLE SAVE ***
2370 TEXT : HOME : NORMAL
2380 PRINT DISK$;"NOMON I,O,C"
2390 HOME : VTAB (5): PRINT "DO YOU WANT TO LOAD FROM THE": PRINT "DISK, SAVE TO THE DISK, OR"
2400 PRINT "END? ((S), (L), OR (E)) >>> ": GOSUB 2620
2410 IF KEY = 211 THEN 2460
2420 IF KEY = 204 THEN 2560
2430 IF KEY < >197 THEN 2390
2440 TEXT : HOME : VTAB (1): INVERSE : PRINT ""; TAB( 15);"GAME END"; TAB( 40): NORMAL : PRINT : PRINT
2450 GOTO 2920
2460 REM *** DATA WRITE ***
2470 VTAB 15: PRINT "INSERT PROPER DISK AND PRESS 'RETURN'...": GOSUB 2620
2480 A = FRE(0)
2490 A = PEEK(105):B = PEEK(106):C = PEEK(107):D = PEEK(108)
2500 E = PEEK(109):F = PEEK(110):G = PEEK(111):H = PEEK(112)
2510 REM *** ABOVE LINES SET MEM POINTERS INTO VARIABLES ***
2520 PRINT DISK$;"BSAVE MARKET.CRASH.DATA.BASE,A";(A +B *256);",L";((E +F *256) -(A +B *256));",V0"
2530 TEXT : HOME : VTAB (7): PRINT "DO YOU WANT TO CONTINUE YOUR": PRINT "GAME OR END NOW? (C OR E) ": GOSUB 2620
2540 IF KEY = 197 THEN 2440
2550 HOME : GOSUB 1630: GOTO 730
2560 REM *** DATA READ ***
2570 VTAB (15): PRINT "INSERT PROPER DISK AND PRESS 'RETURN'...": GOSUB 2620
2580 PRINT DISK$;"BLOAD MARKET CRASH.X,V0"
2590 POKE 105,A: POKE 106,B: POKE 107,C: POKE 108,D
2600 POKE 109,E: POKE 110,F: POKE 111,G: POKE 112,H
2610 TEXT : HOME : GOSUB 1630: GOTO 730
2620 REM *** KEYBOARD INPUT ***
2630 POKE -16368,0
2640 KEY = PEEK( -16384): IF KEY >127 THEN 2660
2650 GOTO 2640
2660 POKE -16368,0: RETURN
2670 REM *** B = 194
2680 REM *** S = 211
2690 REM *** E = 197
2700 REM *** RETURN = 141
2710 REM *** GAME END ***
2720 REM *** BROKER ACTION! ***
2730 VTAB (2): CALL -958: VTAB (5): PRINT " YOUR BROKER HAS TAKEN LEGAL ACTION": PRINT "AGAINST YOUR PERSONAL ASSETS, DUE TO"
2740 PRINT "YOUR DEFAULTING ON YOUR CONTRACT": PRINT "WITH HIM.": PRINT : PRINT : FOR A = 1 TO (3 *TIME): NEXT A: PRINT " THE COURTS RULE IN THE BROKER'S FAVOR."
2750 PRINT "DUE TO BEING ASSESSED COURT": PRINT "COSTS, ATTORNEY'S FEES, DAMAGES,": PRINT "COMPENSATORY DAMAGES, AMOUNTS PRESENTLY"
2760 PRINT "DUE THE BROKER, ETC., ETC., AD NAUSEUM,": PRINT "YOU ARE BANKRUPT!!!"
2770 END
2780 REM *** PLAYER BROKE! ***
2790 VTAB (2): CALL -958: VTAB (5): PRINT " DUE TO EXTREME INCOMPETENCY AND": PRINT "YOUR NATURALLY LOW I.Q., NOT TO MENTION"
2800 PRINT "AN INCREDIBLE AMOUNT OF BUNGLING,": PRINT "YOU HAVE MANAGED TO BLOW $10,000!!!": PRINT
2810 PRINT " BECAUSE OF THIS ACTION, YOUR WIFE": PRINT "HAS LEFT YOU FOR YOUR BROKER,": PRINT "YOUR KID HAS STOLEN YOUR CAR, YOUR": PRINT "OTHER KID SET FIRE TO YOUR HOUSE, YOUR"
2820 PRINT "PEERS HAVE SIGNED A PETITION TO HAVE": PRINT "YOU COMMITTED TO AN ASYLUM, AND YOUR"
2830 PRINT "BANK HAS FORECLOSED ON EVERYTHING YOU": PRINT "HAVE LEFT!!!": PRINT : PRINT " NEEDLESS TO SAY, YOU ARE BANKRUPT!!!"
2840 END
2850 REM *** MARKET CRASH! ***
2860 VTAB (2): CALL -958: VTAB (3): PRINT "THE STOCK MARKET HAS CRASHED!!!": PRINT "ALL THE COMPANIES ARE NOW BANKRUPT!!!": PRINT
2870 IF CASH >1000 THEN 2890
2880 PRINT " YOU LOST YOUR SHORTS!!!"
2890 FOR A = 1 TO (3 *TIME): NEXT A: TEXT : HOME : GOTO 2440
2900 REM *** YEAR END ***
2910 GOSUB 1670: TEXT : HOME : VTAB (1): INVERSE : PRINT ""; TAB( 15);"YEAR END"; TAB( 40): NORMAL : PRINT : PRINT
2920 ASSETS = 0: FOR A = 1 TO ST0CKS: IF TABLE(A,1) < = 0 THEN 2940
2930 ASSETS = ASSETS +(TABLE(A,1) *TABLE(A,3))
2940 NEXT A
2950 PRINT TAB( 7);"TOTAL CASH:"; TAB( 27);"$";CASH: PRINT TAB( 7);"ASSETS PAPER VALUE:"; TAB( 27);"$";ASSETS: PRINT TAB( 27);"-----------"
2960 HTAB (7): INVERSE : PRINT "TOTAL WORTH:";: HTAB (27): PRINT "$";CASH +ASSETS: NORMAL : PRINT
2970 PRINT TAB( 7);"SUBTRACT": PRINT TAB( 7);"START. CAPITAL:"; TAB( 27);"$10000": PRINT TAB( 27);"-----------"
2980 PRINT TAB( 7);"GROSS INCOME:"; TAB( 27);"$";(CASH +ASSETS) -10000: PRINT TAB( 7);"LESS ASSETS:"; TAB( 27);"$";ASSETS
2990 PRINT TAB( 27);"-----------": PRINT TAB( 7);"NET RECOGNIZED": PRINT TAB( 7);"INCOME:"; TAB( 27);"$";CASH -10000
3000 PRINT :INCOME = CASH -10000:PERCENT = INT((INCOME/10000) *1000)/10
3010 PRINT TAB( 5);"YEAR'S RESULTS:": PRINT : PRINT TAB( 5);"THE YEAR'S TRANSACTIONS NETTED": PRINT TAB( 5);
3020 IF PERCENT > = 0 THEN 3040
3030 PRINT "A "; ABS(PERCENT);"% DECREASE ";: GOTO 3050
3040 PRINT "A ";PERCENT;"% INCREASE ";
3050 PRINT "IN CASH, WITH A"
3060 PERCENT = INT((((ASSETS +CASH) -10000)/10000) *1000)/10
3070 IF PERCENT > = 0 THEN 3090
3080 PRINT TAB( 5); ABS(PERCENT);"% DECREASE ";: GOTO 3100
3090 PRINT TAB( 5);PERCENT;"% INCREASE ";
3100 PRINT "IN NET WORTH."
3110 END
Text found in 110_Volume_110.dsk/NAME THE STATES.bas:
10 DIM CT$(40)
20 POKE -16368,0: HOME : GOSUB 300
50 DIM S$(50),T$(50),C$(50)
60 GOSUB 900
100 TEXT : HOME : VTAB 5: HTAB 10
110 PRINT "NAME THE STATES"
120 PRINT : PRINT : PRINT "THIS IS A GAME TO SEE HOW MANY STATES"
130 PRINT : PRINT "YOU CAN NAME FROM MEMORY."
140 PRINT : PRINT "FOR STATES ALREADY GUESSED ENTER 'LIST'"
150 PRINT : PRINT "PLEASE ENTER FULL NAME OF STATES"
160 PRINT : PRINT "HERE WE GO!!!!"
170 FOR Z = 1 TO 5000: NEXT Z
180 HOME : VTAB 5
190 PRINT "PLEASE ENTER NAME OF STATE ": PRINT : PRINT "AND HIT RETURN."
200 FOR L = 1 TO 50
210 PRINT L;".";: INPUT S$(L)
215 T$(L) = S$(L)
220 GOSUB 500
225 GOSUB 800
230 NEXT L
240 GOTO 500
250 REM PRINT CENTER ROUTINE
260 HTAB 20 - LEN(CT$)/2
270 PRINT CT$
280 PRINT ""
290 RETURN
300 VTAB 4:CT$ = "NAME THE STATES": GOSUB 250
310 CT$ = "BY KEVIN ARMSTRONG": GOSUB 250
320 CT$ = "APRIL 1979": GOSUB 250
330 PRINT
340 CT$ = "SEE HOW MANY STATES YOU CAN NAME": GOSUB 250
350 VTAB 21: PRINT " PRESS 'ESC' TO END"
360 PRINT "< PRESS THE SPACE BAR TO CONTINUE...>"
370 IF PEEK( -16384) = 155 THEN 400
380 IF PEEK( -16384) < >160 THEN 350
390 POKE -16368,0: HOME : RETURN
400 POKE -16368,0: HOME : VTAB 10: HTAB 10: PRINT "* * * THE END * * *": END
500 PRINT
510 FOR B = 0 TO L -1
520 IF S$(L) = T$(B) THEN PRINT "YOU HAVE GUESSED THAT ONE":L = L -1: GOTO 600
530 NEXT B
540 IF S$(L) = "LIST" THEN 700
600 RETURN
700 FOR B = 1 TO L -1
710 PRINT B;" .";S$(B)
720 NEXT B
730 L = L -1
740 RETURN
800 FOR C = 1 TO 50
810 IF S$(L) = C$(C) THEN RETURN
820 NEXT C
830 PRINT "THAT IS NOT A STATE.":L = L -1
840 RETURN
900 FOR D = 1 TO 50
910 READ C$(D)
920 NEXT D
1000 DATA ALABAMA,ARIZONA,ARKANSAS,CALIFORNIA,COLORADO,CONNECTICUT,DELEWARE
1010 DATA FLORIDA,GEORGIA,IDAHO,ILLINOIS,INDIANA,IOWA,KANSAS,KENTUCKY,LOUISIANA
1020 DATA MAINE,MARYLAND,MASSACHUSETTS,MICHIGAN,MINNESOTA,MISSISSIPPI,MISSOURI
1030 DATA ALASKA,HAWAII,MONTANNA,NEBRASKA,NEW HAMPSHIRE,NEW JERSEY,NEW YORK
1040 DATA NORTH CAROLINA,NORTH DAKOTA,OHIO,OKLAHOMA,OREGON,PENNSYLVANIA,RHODE ISLAND
1050 DATA SOUTH CAROLINA,SOUTH DAKOTA,TENNESSEE,TEXAS,UTAH,VERMONT,VIRGINIA
1060 DATA WASHINGTON,WEST VIRGINIA,WISCONSIN
1070 DATA WYOMING,NEVADA,NEW MEXICO
1075 REM DONATED BY... KEVIN ARMSTRONG
1080 RETURN
1100 REM GIVEN TO APPLE CORE OF SAN FRANCISCO FOR USE OF MEMBERS BY AUTHOR..
1110 REM
1120 REM LAST MOD. JULY 1979
1130 REM
1140 REM 'NAME THE STATES'
1150 END
Text found in 110_Volume_110.dsk/PUZZLE GENERATOR.bas:
5 GOTO 280
10 ANS = 0
20 FOR X = 1 TO W
30 FOR Y = 1 TO L
40 FOR Z = 1 TO LN
50 IF MID$ (W$(I),Z,1) = A$(Y,X) THEN GOSUB 80
60 NEXT Z
65 NEXT Y
68 NEXT X
70 RETURN
80 FOR SD = 1 TO 8
85 PT = PT +1: IF PT >8 THEN PT = 1
90 SX = X:SY = Y:LTH = 0
100 IF Z >1 THEN SX = SX -((Z -1) *DXY(PT,1)):SY = SY -((Z -1) *DXY(PT,2))
110 K = SX:J = SY
120 IF (K <1) OR (K >W) OR (J <1) OR (J >L) THEN 200
130 FOR D = 1 TO LEN(W$(I))
140 IF A$(J,K) = "" THEN LTH = LTH +1:K = K +DXY(PT,1):J = J +DXY(PT,2): GOTO 160
150 IF A$(J,K) = MID$ (W$(I),D,1) THEN LTH = LTH +1:K = K +DXY(PT,1):J = J +DXY(PT,2)
160 IF LTH = LEN(W$(I)) THEN ANS = 1:DIR = PT:SD = 8:D = LEN(W$(I)): GOTO 180
170 IF (K <1) OR (K >W) OR (J <1) OR (J >L) THEN D = LEN(W$(I))
180 NEXT D
200 IF ANS = 0 THEN RETURN
205 W(I,1) = SX:W(I,2) = SY:W(I,3) = DIR
210 FOR D = 1 TO LEN(W$(I))
220 A$(SY,SX) = MID$ (W$(I),D,1)
230 SX = SX +DXY(DIR,1):SY = SY +DXY(DIR,2)
240 NEXT D
250 X = W:Y = L:Z = LEN(W$(I))
260 RETURN
280 CALL -936: PRINT "PUZZLE MAKER FOR HIDDEN WORDS"
290 D$ = "": REM CONTROL D
295 PT = 0
300 DEF FN A(Z) = INT( RND(1) *Z +1)
310 INPUT "HOW MANY COLUMNS DOES YOUR PRINTER HAVE ";TW
320 INPUT "DO YOU WANT A SOLUTION PRINTOUT ";X$
330 INPUT "WHAT IS THE WIDTH OF THE PUZZZLE ";W:MD = W
340 IF W *2 < = TW THEN 345
343 PRINT "THAT WILL NOT FIT IN ";TW;" COLUMNS.": GOTO 330
345 IF W <1 THEN 330
350 INPUT "THE LENGTH ";L: IF L >W THEN MD = L
355 IF L <1 THEN 350
360 INPUT "WHAT IS THE MAXINUM NUMBER OF WORDS IN THE PUZZLE ";M
370 IF M > = 2 THEN 380
375 PRINT "SORRY--THERE MUST BE AT LEAST 2 WORDS": GOTO 360
380 PRINT
390 DIM A$(L,W),W$(M)
400 DIM W(M,3),DXY(8,2),DD(28)
410 PRINT "NOW ENTER A HEADING THAT WILL BE PRINTED OVER THE PUZZLE."
420 PRINT "( ";TW;" CHARACTERS MAXIMUM )"
430 INPUT XY$
440 PRINT "OK...ENTER A WORD AT EACH QUESTION MARK."
450 PRINT "TO REDO A WORD, TYPE A HYPHEN (-)."
460 PRINT "WHEN YOU RUN OUT OF WORDS,TYPE A PERIOD (.)."
470 FOR I = 1 TO M
480 INPUT T$: IF T$ = "-" THEN I = I -1: PRINT "REDO ";W$(I);"...": GOTO 480
490 IF T$ = "." THEN M = I -1: GOTO 660
500 IF LEN(T$) = 0 THEN PRINT "INPUT ERROR-REDO": GOTO 480
510 J = 1
520 TE$ = MID$ (T$,J,1): IF TE$ > = "A" AND TE$ < = "Z" THEN 570
525 IF TE$ <"A" OR TE$ >"Z" THEN 530
527 MID$ (T$,J,1) = CHR$( ASC( MID$ (T$,J,1))): GOTO 570
530 IF TE$ = T$ THEN T$ = "": GOTO 500
540 IF J = LEN(T$) THEN T$ = LEFT$(T$,J -1): GOTO 580
550 IF J = 1 THEN T$ = RIGHT$(T$, LEN(T$) -1):J = J -1: GOTO 570
560 T$ = LEFT$(T$,J -1) + RIGHT$(T$, LEN(T$) -J):J = J -1
570 J = J +1: IF J < = LEN(T$) THEN 520
580 PRINT "-";T$;"-"
600 IF LEN(T$) < = MD THEN 610
605 PRINT "THAT'S TOO LONG, I'M AFRAID"
607 PRINT "TRY ANOTHER ONE": GOTO 480
610 FOR IZ = 1 TO I -1: IF W$(IZ) < >T$ THEN NEXT : GOTO 630
620 PRINT "YOU ENTERED THAT ONE ALREADY. TRY ANOTHER": GOTO 480
630 W$(I) = T$
640 NEXT I
650 PRINT "THAT'S IS...";M;" WORDS"
660 PRINT "NOW LET ME THINK ABOUT THIS"
680 FOR I = 1 TO M -1
685 FOR J = I +1 TO M
690 IF LEN(W$(I)) < LEN(W$(J)) THEN HZ$ = W$(I):W$(I) = W$(J):W$(J) = HZ$
700 NEXT : NEXT
710 FOR I = 1 TO 8: READ DXY(I,1),DXY(I,2): NEXT
720 FOR I = 1 TO 28: READ DD(I): NEXT
730 DATA 0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1
740 DATA 2,4,6,8,2,4,6,8,2,4,6,8,2,4,6,8,2,4,6,8,2,4,6,8,1,3,5,7
743 FLAG = 0
745 FOR J = 1 TO L: FOR K = 1 TO W:A$(J,K) = "": NEXT K: NEXT J
750 FOR I = 1 TO M
760 LN = LEN(W$(I))
763 GOSUB 10
765 IF ANS = 1 THEN 950
770 NT = 0
790 SD = DD( FN A(28))
800 SX = FN A(W):X1 = SX +(LN -1) *DXY(SD,1): IF X1 <1 OR X1 >W THEN 790
810 SY = FN A(L):X1 = SY +(LN -1) *DXY(SD,2): IF X1 <1 OR X1 >L THEN 790
820 NT = NT +1: IF NT < >W *L *2 THEN 850
822 FLAG = FLAG +1
825 IF FLAG <4 THEN PRINT "TROUBLE FITTING *** ";W$(I);" ***": PRINT "ON BOARD...PLEASE WAIT I'LL TRY AGAIN.": GOTO 745
830 PRINT "COULDN'T FIT ";W$(I);" IN THE PUZZLE."
832 INPUT "DO YOU WANT ME TO START OVER ";A$
834 IF LEFT$(A$,1) = "Y" THEN 745
836 W$(I) = "": GOTO 950
850 J = SY:K = SX
860 FOR P = 1 TO LN
870 IF LEN(A$(J,K)) AND A$(J,K) < > MID$ (W$(I),P,1) THEN 790
880 J = J +DXY(SD,2):K = K +DXY(SD,1): NEXT P
900 J = SY:K = SX
910 FOR P = 1 TO LN:A$(J,K) = MID$ (W$(I),P,1)
920 J = J +DXY(SD,2):K = K +DXY(SD,1): NEXT
940 W(I,1) = SX:W(I,2) = SY:W(I,3) = SD
950 NEXT I
970 FOR I = 1 TO L
975 FOR J = 1 TO W
980 IF A$(I,J) = "" THEN A$(I,J) = CHR$( FN A(26) +64)
990 NEXT : NEXT
1010 FOR I = 1 TO M -1: FOR J = I +1 TO M
1020 IF W$(I) < = W$(J) THEN 1030
1021 HZ$ = W$(I):W$(I) = W$(J):W$(J) = HZ$
1025 FOR K = 1 TO 3:HZ = W(I,K):W(I,K) = W(J,K):W(J,K) = HZ: NEXT K
1030 NEXT J: NEXT I
1040 INPUT "HOW MANY COPIES OF THIS PUZZLE DO YOU WANT ";N
1050 PRINT "FOR EACH COPY, HIT RETURN TO BEGIN PRINTING..."
1060 FOR C = 1 TO N: GOSUB 1070: GOTO 1230
1070 INPUT A$: PRINT D$;"PR#1": PRINT
1080 T = (TW -2 *W)/2: PRINT
1090 PRINT
1100 PRINT TAB( (TW - LEN(XY$))/2);XY$
1110 PRINT : PRINT
1120 FOR J = 1 TO L: PRINT TAB( T)
1130 FOR K = 1 TO W: IF A$(J,K) = "." THEN PRINT ". ";: GOTO 1140
1135 PRINT CHR$( ASC(A$(J,K)));" ";
1140 NEXT : PRINT : NEXT
1150 PRINT : PRINT
1160 PRINT "FIND THESE HIDDEN WORDS IN THE ABOVE PUZZLE"
1170 PRINT
1180 FOR J = 1 TO M: IF LEN(W$(J)) = 0 THEN 1210
1190 IF POS(0) + LEN(W$(J)) >TW -2 THEN PRINT
1200 PRINT W$(J)
1210 NEXT : PRINT : PRINT : PRINT :: PRINT : PR# 0
1220 RETURN
1230 IF LEFT$(X$,1) = "Y" THEN 1250
1240 END
1250 REM
1260 FOR I = 1 TO L: FOR J = 1 TO W:A$(I,J) = ".": NEXT J: NEXT I
1270 FOR I = 1 TO M
1280 LN = LEN(W$(I)):J = W(I,2):K = W(I,1)
1290 FOR P = 1 TO LN
1300 A$(J,K) = MID$ (W$(I),P,1)
1310 J = J +DXY(W(I,3),2):K = K +DXY(W(I,3),1): NEXT P
1320 NEXT I
1330 XY$ = "HERE IS THE ANSWER KEY: "
1340 GOSUB 1070
1350 PRINT : PRINT
1360 END
1380 REM "PUZZLE GENERATOR"
1390 REM
1400 REM PROGRAM FOUND IN
1410 REM CREATIVE COMPUTING
1420 REM NOV-DEC 1978.
1430 REM MODIFIED BY CLAUDE
1440 REM HOLLIDAY FOR APPLE
1450 REM II WITH OVERLAPPING
1460 REM LETTERS. THIS
1470 REM PROGRAM IS FREE TO
1480 REM ALL WHO WISH TO HAVE
1490 REM IT.
1500 REM
Text found in 110_Volume_110.dsk/SOLITAIRE CHECKER PUZZLE.bas:
2 PRINT TAB( 30);" ONE CHECK"
4 PRINT : PRINT : PRINT
8 DIM A(64)
10 PRINT " SOLITAIRE CHECKER PUZZLE"
15 PRINT
20 PRINT " 48 CHECKERS ARE PLACED ON THE TWO OUTSIDE SQAURES OF A STANDARD 64-SQUARE CHECKERBOARD. THE OBJECT IS TO REMOVE AS MANY CHECKERS AS POSSIBLE BY DIAGONAL JUMPS"
30 PRINT " AN EMPTY SQUARE. WHEN YOU HAVE NO POSSIBLE JUMPS REMAINING INPUT A '0' IN RESPONSE TO QUESTION 'JUMP FROM?'"
62 PRINT
65 PRINT "HERE IS THE NUMERICAL BOARD"
66 PRINT
70 FOR J = 1 TO 57 STEP 8
74 PRINT J; TAB( 4);J +1; TAB( 8);J +2; TAB( 12);J +3; TAB( 16);J +4; TAB( 20);J +5;
75 PRINT TAB( 24);J +6; TAB( 28);J +7
76 NEXT J
77 PRINT
78 PRINT " AND HERE IS THE OPENING POSITION OF THE CHECKERS."
79 PRINT
80 FOR J = 1 TO 64
82 A(J) = 1
84 NEXT J
86 FOR J = 19 TO 43 STEP 8
88 FOR I = J TO J +3
90 A(I) = 0
92 NEXT I
94 NEXT J
96 M = 0
98 GOTO 340
100 INPUT "JUMP FROM";F
105 IF F = 0 THEN 500
110 INPUT "TO ";T
112 PRINT
120 F1 = INT((F -1)/8)
130 F2 = F -8 *F1
140 T1 = INT((T -1)/8)
150 T2 = T -8 *T1
160 IF F1 >7 THEN 230
170 IF T1 >7 THEN 230
180 IF F2 >8 THEN 230
190 IF T2 >8 THEN 230
200 IF ABS(F1 -T1) < >2 THEN 230
210 IF ABS(F2 -T2) < >2 THEN 230
212 IF A((T +F)/2) = 0 THEN 230
215 IF A(F) = 0 THEN 230
220 IF A(T) = 1 THEN 230
225 GOTO 250
230 PRINT " ILLEGAL MOVE...TRY AGAIN..."
240 GOTO 100
250 A(T) = 1
260 A(F) = 0
270 A((T +F)/2) = 0
290 M = M +1
340 FOR J = 1 TO 57 STEP 8
350 FOR I = J TO J +7
355 IF A(I) = 0 THEN INVERSE
356 IF A(I) = 1 THEN NORMAL
360 PRINT A(I);
370 NEXT I
380 PRINT
390 NEXT J
400 PRINT
410 GOTO 100
500 S = 0
510 FOR I = 1 TO 64
520 S = S +A(I)
530 NEXT I
540 PRINT "YOU MADE";M;"JUMPS AND HAD";S;"PIECES
550 PRINT "REMAINING ON THE BOARD."
560 PRINT
562 INPUT "TRY AGAIN ?";A$
570 IF A$ = "YES" THEN 70
575 IF A$ = "NO" THEN 600
580 PRINT " PLEASE ANSWER YES OR NO."
590 GOTO 562
600 PRINT
610 PRINT "O.K. HOPE YOU HAD FUN!!"
999 END
Text found in 110_Volume_110.dsk/SPELL THE STATES.bas:
5 HOME
10 DATA AL,AK,AZ,AR,CA,CO,CT,DE,FL,GA,HI
20 DATA ID,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI
30 DATA MN,MS,MO,MT,NB,NV,NH,NJ,NM,NY,NC
40 DATA ND,OH,OK,OR,PA,RI,SC,SD,TN,TX,UT
50 DATA VT,VA,WA,WV,WI,WY
60 DATA ALABAMA,ALASKA,ARIZONA,ARKANSAS,CALIFORNIA
70 DATA COLORADO,CONNECTICUT,DELAWARE,FLORIDA
80 DATA GEORGIA,HAWAII,IDAHO,ILLINOIS,INDIANA
90 DATA IOWA,KANSAS,KENTUCKY,LOUISIANA,MAINE
100 DATA MARYLAND,MASSACHUSETTS,MICHIGAN,MINNESOTA
110 DATA MISSISSIPPI,MISSOURI,MONTANA,NEBRASKA
120 DATA NEVADA,NEW HAMPSHIRE,NEW JERSEY,NEW MEXICO
130 DATA "NEW YORK","NORTH CAROLINA","NORTH DAKOTA"
140 DATA OHIO,OKLAHOMA,OREGON,PENNSYLVANIA
150 DATA RHODE ISLAND,SOUTH CAROLINA,SOUTH DAKOTA,TENNESSEE
160 DATA TEXAS,UTAH,VERMONT,VIRGINIA,WASHINGTON
170 DATA WEST VIRGINIA,"WISCONSIN",WYOMING
200 DIM A$(50)
210 DIM S$(50)
220 FOR I = 1 TO 50
230 READ A$(I)
240 NEXT I
250 FOR I = 1 TO 50
260 READ S$(I)
270 NEXT I
280 GOTO 4000
290 HOME
292 N = 0
293 W = 0
295 FOR L = 1 TO T
300 R = INT( RND(1) *50 +1)
307 PRINT
310 PRINT A$(R): PRINT
320 INPUT G$
330 PRINT
340 IF G$ = S$(R) THEN GOSUB 2000
350 IF G$ < >S$(R) THEN GOSUB 3000
400 HOME
410 NEXT L
420 GOTO 5000
2000 PRINT "CORRECT ! ! ! CORRECT ! ! ! CORRECT"
2010 N = N +1
2020 FOR PAUSE = 1 TO 1000: NEXT PAUSE
2030 RETURN
3000 PRINT "SORRY, BUT"
3010 PRINT "THAT IS NOT CORRECT."
3020 PRINT "THE CORRECT SPELLING IS"
3030 VTAB 12: HTAB 15
3040 PRINT S$(R)
3050 FOR PAUSE = 1 TO 2500: NEXT PAUSE
3060 W = W +1
3065 W$(W) = S$(R)
3070 RETURN
4000 PRINT "THIS PROGRAM WILL SEE IF YOU CAN SPELL": PRINT
4010 PRINT "THE NAMES OF THE STATES WHEN GIVEN THE": PRINT
4020 PRINT "ABREVIATIONS. IT WILL GIVE THE": PRINT
4030 PRINT "ABREVIATION AND A ? YOU TYPE THE": PRINT
4040 PRINT "CORRECT SPELLING OF THAT STATE": PRINT
4050 PRINT "AND PRESS THE RETURN KEY": PRINT
4055 INPUT "TYPE YOUR NAME AND THE RETURN KEY ";N$
4060 PRINT : PRINT : PRINT
4063 PRINT "HOW MANY STATES DO YOU WANT TO TRY ";N$;" ?"
4064 PRINT
4065 INPUT "TYPE A NUMBER AND THE RETURN KEY ";T
4067 PRINT
4070 PRINT "TYPE ANY KEY AND THE RETURN KEY TO BEGIN"
4080 INPUT X$
4090 GOTO 290
5000 HOME : PRINT
5005 PRINT N$;" YOUR SCORE FOR THIS TIME IS :"
5006 PRINT
5010 PRINT "NUMBER CORRECT = ";N
5020 PRINT
5030 PRINT "NUMBER NOT CORRECT = ";W
5031 PRINT
5032 PRINT "THE STATES YOU MISSED WERE :"
5033 FOR M = 1 TO W
5034 PRINT
5035 PRINT W$(M)
5038 NEXT M
5040 PRINT
5050 P = INT(N/T *100)
5060 PRINT "% CORRECT = ";P;"%"
5065 PRINT
5070 PRINT "DO YOU WANT TO TRY AGAIN ";N$;" ? Y/N"
5080 INPUT V$: PRINT
5090 IF V$ = "Y" THEN GOTO 4063
6000 PRINT "THANK YOU FOR TRYING THE GAME"
6001 PRINT
6005 PRINT "HAVE A NICE DAY!"
6006 END
6010 REM PROGRAM DEVELOPED BY JAMES V. DEVILBISS
6020 REM 915 PINE AVE. FREDERICK MARYALND 21701
6030 REM PHONE 301-662-5784
Text found in 110_Volume_110.dsk/SPELUNKER.bas:
0 REM SPELUNKER I
1 TEXT : HOME
2 VTAB 12: HTAB 14
3 PRINT "SPELUNKER I"
4 PRINT : HTAB 19: PRINT "BY"
5 PRINT : HTAB 11: PRINT "THOMAS R. MIMLITCH"
6 VTAB 20: HTAB 12: PRINT "APPLESOFT VERSION"
7 HTAB 19: PRINT "BY"
8 HTAB 10: PRINT "WILLIAM TEMPLE DAVIS"
10 GOSUB 30000: REM INITIALIZE
20 HOME
30 VTAB 12
40 PRINT "DO YOU NEED INSTRUCTIONS";
50 GET I$
60 IF I$ = "N" THEN 900
70 GOSUB 33000
900 GOSUB 32000
950 GOTO 4000
1000 INPUT IN$:IN$ = " " +IN$ +" "
1001 I = 1
1002 IF LEFT$(IN$,5) < >" LOOK" THEN 1005
1003 IF LIGHT = 0 AND LOC >2 AND LOC < >19 THEN 1005
1004 HOME : PRINT LDES$(LOC):LK = 1: GOTO 4000
1005 NOUN = 0:VERB = 0
1010 GOSUB 1600
1015 GOSUB 1700
1050 NTYP = NTYP(NOUN):VTYP = VTYP(VERB)
1060 FOR Q = 0 TO 20: IF VTYP -(NTYP *2 *Q) = NTYP THEN 2000
1065 NEXT Q
1070 PRINT "ICH VERSTEHE NICHT"
1080 GOTO 3000
1200 GOTO 2000
1600 IF NOUN < >0 THEN RETURN
1610 FOR J = 1 TO NN
1620 FOR L = 1 TO LEN(IN$) - LEN(NOUN$(J)) +1
1630 IF MID$ (IN$,L, LEN(NOUN$(J))) = NOUN$(J) THEN W2$ = NOUN$(J):NOUN = J: RETURN
1640 NEXT L
1650 NEXT J
1660 RETURN
1700 IF VERB < >0 THEN RETURN
1710 FOR J = 1 TO NV
1720 FOR L = 1 TO LEN(IN$) - LEN(VERB$(J)) +1
1730 IF MID$ (IN$,L, LEN(VERB$(J))) = VERB$(J) THEN W1$ = VERB$(J):VERB = J: RETURN
1740 NEXT L
1750 NEXT J
1760 RETURN
2000 REM MOVE
2010 NLOC = 0
2020 IF NOUN >8 THEN 2200
2025 LK = 0
2030 IF NOUN/2 < >0 THEN 2100
2040 IF LOC < >11 AND LOC < >8 THEN 1070
2100 ON NOUN GOTO 2110,2120,2130,2140,2150,2160,2170,2180
2110 NLOC = N(LOC): GOTO 2190
2120 NLOC = 0: GOTO 2190
2130 NLOC = E(LOC): GOTO 2190
2140 NLOC = 15: IF LOC = 8 THEN NLOC = 8
2145 GOTO 2190
2150 NLOC = S(LOC): GOTO 2190
2160 NLOC = 22: IF LOC = 8 THEN NLOC = 8
2165 GOTO 2190
2170 NLOC = W(LOC): GOTO 2190
2180 NLOC = 12: IF LOC = 8 THEN NLOC = 8
2190 IF RAFT = 1 THEN NLOC = ABS(NLOC)
2191 RAFT = 0:PLOC = LOC
2192 IF NLOC >0 THEN LOC = NLOC
2193 IF NLOC < >12 THEN 2900
2194 IF M(50) <5 THEN 2900
2195 IF PLOC = 6 THEN S(12) = 0
2196 IF PLOC = 11 THEN W(12) = 0
2197 GOTO 2900
2200 IF (NOUN = 9 OR NOUN = 10) AND ROPE = 0 AND LOC < >23 THEN 1070
2205 IF NOUN < >9 THEN 2250
2210 IF LOC < >5 AND LOC < >13 THEN 1070
2220 IF LOC = 5 THEN LOC = 4
2230 IF LOC = 13 THEN LOC = 50
2240 GOTO 3000
2250 IF NOUN < >10 THEN 2300
2260 IF LOC = 4 OR LOC = 23 THEN 2265
2261 GOTO 1070
2265 IF LOC = 23 THEN LOC = 2: GOTO 3000
2270 LOC = 5: GOTO 3000
2300 IF VERB = 8 OR VERB = 11 THEN 2320
2310 GOTO 2350
2320 IF NP = 8 THEN PRINT "YOU CAN'T CARRY ANY MORE!": GOTO 1080
2325 IF NOUN = 34 AND (LOC = 19 OR LOC = 10 OR LOC = 5 OR LOC = 18 OR LOC = 7 OR LOC = 6 OR LOC = 11) THEN 2345
2330 IF STS(NOUN) < >LOC THEN 1070
2335 IF NOUN = 28 AND M(50) >0 THEN 1070
2345 STA(NOUN) = -1: GOTO 3000
2350 IF VERB = 9 OR VERB = 10 OR VERB = 14 THEN 2370
2360 GOTO 2400
2370 IF STA(NOUN) < > -1 THEN 1070
2380 STA(NOUN) = LOC
2383 IF NOUN < >33 THEN 2420
2385 IF VERB < >10 THEN STA(33) = 0
2387 LIGHT = 0
2390 GOTO 2420
2400 IF VERB < >12 THEN 2600
2410 IF STA(NOUN) < > -1 THEN 1070
2420 FOR WT = 1 TO NUMW *5 -4 STEP 5
2425 IF NOUN < >WT(WT) THEN 2480
2430 FOR D = 2 TO 4
2435 IF STA(WT(WT +D)) < >LOC THEN 2470
2440 FOR M = 1 TO MM *10 -9 STEP 10
2445 IF WT(WT +D) < >M(M) THEN 2460
2446 HT = INT( RND(1) *WT(WT +1)/(CURSE +1))
2448 M(M +9) = M(M +9) -HT
2449 IF M(M +4) = 0 THEN M(M +4) = 1
2450 PRINT "ASSAULT ON ";NOUN$(M(M));", ";HT;" UNITS"
2452 PRINT "ITS LIFE FORCE IS NOW ";M(M +9);"%"
2455 IF M(M +9) >0 THEN 2460
2456 PRINT NOUN$(M(M));" HAS BEEN ELIMINATED"
2457 STA(M(M)) = 0
2460 NEXT M
2470 NEXT D
2480 NEXT WT
2490 IF NOUN < >16 OR VERB = 10 THEN 2500
2492 STA(16) = 0:R = INT( RND(1) *4) +1
2493 ON R GOTO 2494,2495,2496,2497
2494 N(LOC) = 0: GOTO 2500
2495 E(LOC) = 0: GOTO 2500
2496 S(LOC) = 0: GOTO 2500
2497 W(LOC) = 0
2500 IF NTYP < >5 THEN 2900
2510 IF NOUN < >33 THEN 2520
2512 IF VERB = 12 THEN LIGHT = 1
2514 GOTO 2900
2520 IF NOUN < >29 THEN 2530
2525 RAFT = 1: GOTO 2900
2530 IF NOUN < >30 THEN 2540
2535 ROPE = 1: GOTO 2900
2540 REM
2600 IF VERB = 6 THEN LOC = 23
2900 IF NOUN <11 THEN ROPE = 0
2910 IF STA(30) = LOC THEN ROPE = 1
2920 IF LOC = 12 THEN 3000
2930 W(12) = 6:S(12) = 11
3000 REM RE-ACTION
3010 FOR M = 1 TO MM *10 -9 STEP 10
3020 IF STA(M(M)) < >0 THEN GOSUB 3800
3030 NEXT M
3040 IF STA(35) = 0 AND STA(34) = 2 THEN STA(35) = 2
3090 GOTO 4000
3800 REM MONSTER SUBROUTINE
3801 IF STA(M(M)) <100 THEN MRM = STA(M(M)): GOTO 3810
3808 MRM = STA(M(M)) -100
3810 IF (STA(M(M +1)) = MRM OR STA(M(M +1)) -100 = MRM) AND M(M +4) = 0 THEN 3900
3815 IF MRM <0 THEN MRM = 0
3820 IF MRM = LOC THEN 3860
3830 FOR W = 1 TO 20
3831 IF (M(M +2) +M(M +3))/(6 *W) > = 0 AND (M(M + +2) +M(M +3))/(6 *W) < = 5 THEN 3835
3832 NEXT W
3835 M(M +2) = (M(M +2) +M(M +3))/(6 *W)
3838 M(M +2) = INT(M(M +2))
3840 IF M(M +2) < >0 THEN RETURN
3842 G = INT( RND(1) *4) +1
3845 ON G GOTO 3850,3851,3852,3853
3850 NLOC = N(MRM): GOTO 3855
3851 NLOC = E(MRM): GOTO 3855
3852 NLOC = S(MRM): GOTO 3855
3853 NLOC = W(MRM)
3855 IF NLOC <1 THEN RETURN
3858 STA(M(M)) = NLOC +STA(M(M)) -MRM: RETURN
3860 M(M +4) = M(M +4) +1
3865 KP = (M(M +5) -(STA(M(M +1)) = -1) *40 +9 *(M(M +4) -2)) *M(M +9)/100 +CURSE
3866 KP = INT(KP)
3867 IF KP >60 THEN KP = 60
3870 SAP = (M(M +6) +9 *(M(M +4) -2)) *M(M +9)/100 +CURSE
3871 SAP = INT(SAP)
3872 IF SAP >70 THEN SAP = 70
3875 SRP = INT((M(M +7) +9 *(M(M +4) -2)) *M(M + +9)/100 +CURSE)
3876 IF SRP >80 THEN SRP = 80
3877 PRINT "ATTACK BY ";NOUN$(M(M))
3879 R1 = INT( RND(1) *100):R2 = INT( RND(1) *100):R3 = INT( RND(1) *100)
3880 IF KP >R1 THEN 3920
3885 IF SAP >R2 THEN 3940
3887 IF STA(M(M +1)) < > -1 THEN RETURN
3890 IF SRP >R3 THEN 3960
3895 RETURN
3900 STA(M(M)) = M(M +8)
3905 STA(M(M +1)) = M(M +8)
3910 RETURN
3920 VTAB 23: HTAB 1: PRINT "THE ";NOUN$(M(M));" KILLED YOU!"
3924 PRINT KP,R1
3925 END
3940 FOR I = 1 TO NN
3945 IF NTYP(I) = 15 AND STA(I) = -1 THEN STA(I) = M(M +8)
3950 NEXT I
3957 PRINT "ALL YOUR REWARDS STOLEN"
3958 PRINT SAP,R2
3959 GOTO 3900
3960 PRINT "HE TOOK BACK HIS VALUABLE"
3962 PRINT SRP,R3
3965 GOTO 3900
4000 REM OUTPUT
4020 FOR I = 3 TO 9: VTAB I: HTAB 1: PRINT " ";: NEXT I
4070 INVERSE : VTAB 3: HTAB 2: PRINT LOC$(LOC);: NORMAL : PRINT " ";
4080 IF LOC = 15 AND STA(35) < > -1 THEN CURSE = CURSE +15
4090 VTAB 23: HTAB 1
4092 IF LOC = 49 THEN 9090
4094 IF LOC = 50 THEN 5000
4095 IF LIGHT = 1 OR LOC <3 OR LOC = 19 THEN 9100
4097 PRINT "IT IS VERY DARK"
4099 GOTO 9100
5000 AMT = 0
5010 IF STA(25) = -1 THEN AMT = AMT +13
5020 IF STA(26) = -1 THEN AMT = AMT +22
5030 IF STA(27) = -1 THEN AMT = AMT + +8
5040 IF STA(28) = -1 THEN AMT = AMT +5
5050 VTAB 23: HTAB 1
5060 IF AMT = 0 THEN 9090
5070 PRINT "YOU HAVE FOUND $";AMT;","; INT( RND(1) *900 +100);" IN TREASURES"
5080 IF AMT >13 THEN PRINT "NICE SPELUNKING!"
9090 PRINT "GOOD-BYE"
9099 END
9100 FOR I = 2 TO 10: VTAB I: HTAB 30: PRINT " ": NEXT I
9105 IF LIGHT = 0 AND LOC >2 AND LOC < >19 THEN 9290
9110 VTAB 5: HTAB 33: PRINT "O": HTAB 33: PRINT "+": INVERSE
9140 IF N(LOC) = 0 OR (N(LOC) <0 AND RAFT = 0) THEN 9150
9145 VTAB 3: HTAB 33: PRINT "N": HTAB 33: PRINT " "
9150 IF S(LOC) = 0 OR (S(LOC) <0 AND RAFT = 0) THEN 9160
9155 VTAB 8: HTAB 33: PRINT " ": HTAB 33: PRINT "S"
9160 IF E(LOC) = 0 OR (E(LOC) <0 AND RAFT = 0) THEN 9170
9165 VTAB 6: HTAB 35: PRINT " E"
9170 IF W(LOC) = 0 OR (W(LOC) <0 AND RAFT = 0) THEN 9180
9175 VTAB 6: HTAB 30: PRINT "W "
9180 IF (LOC = 5 OR LOC = 13) AND ROPE = 1 THEN 9185
9182 GOTO 9190
9185 VTAB 2: HTAB 33: PRINT "UP"
9190 IF LOC = 23 THEN 9195
9191 IF LOC < >4 OR ROPE = 0 THEN 9200
9195 VTAB 10: HTAB 33: PRINT "DOWN"
9200 IF LOC = 11 OR LOC = 8 THEN 9210
9205 GOTO 9290
9210 VTAB 3: HTAB 30: PRINT "N ": HTAB 30: PRINT " W"
9215 IF LOC < >8 THEN 9220
9218 VTAB 3: HTAB 35: PRINT " E": HTAB 35: PRINT "N "
9220 VTAB 8: HTAB 30: PRINT " W";: HTAB 35: PRINT "S ": HTAB 30: PRINT "S ";: HTAB 35: PRINT " E"
9290 NORMAL
9300 IF LIGHT = 0 AND LOC >2 AND LOC < >19 THEN 9400
9301 IF LK = 0 THEN 9400
9305 VTAB 5: HTAB 2:J = 0
9310 FOR I = 1 TO NN -1
9315 IF STA(I) < >LOC THEN 9360
9330 PRINT NOUN$(I)
9340 J = J +1: IF J = 5 THEN VTAB 5
9350 HTAB 2
9355 IF J >4 THEN HTAB 12
9360 NEXT I
9400 VTAB 13: HTAB 2: FOR I = 1 TO 12: PRINT " ";: NEXT I
9410 VTAB 13: HTAB 2: PRINT "POSSESSIONS ";:NP = 0
9420 FOR I = 1 TO NN -1
9430 IF STA(I) > = 0 THEN 9480
9440 PRINT NOUN$(I);" ";
9450 NP = NP +1: IF NP = 4 THEN VTAB 14: HTAB 14
9480 NEXT I
9900 VTAB 23: HTAB 1: GOTO 1000
30000 REM INITIALIZE
30010 DIM NOUN$(40),VERB$(30),NTYP(50),VTYP(50),STA(50)
30015 DIM LDES$(50)
30020 DIM N(50),E(50),S(50),W(50)
30040 DIM LOC$(50),SPC$(5),M(6 *10)
30045 DIM PSS(10)
30050 SPC$ = " "
30060 NUMW = 6
30065 DIM WT(5 *NUMW)
30070 LOC = 1
30100 REM INITIALIZE VARIABLES
30110 NN = 38
30120 FOR I = 1 TO NN: READ NOUN$(I): NEXT I
30130 DATA " N "," NE "," E "," SE "," S "," SW "," W "," NW "," UP ","DOWN"
30140 DATA "CAVE","LAKE","RIVER","TREE","AX","BOMB","CURSE","FIRE","KNIFE"
30150 DATA "CLAM","BATS","BONES","GHOST","OGRE","CHEST","GOLD","PEARL","LAMP"
30160 DATA "RAFT","ROPE","TENT","TRUCK","LIGHT","WATER","APPLE","ICE"
30195 DATA "FEATHER"
30199 DATA "*****"
30200 NV = 26
30210 FOR I = 1 TO NV: READ VERB$(I): NEXT I
30220 DATA "GO","JUMP","RUN","WALK","DRIVE","CLIMB","DIG"
30230 DATA "CARRY","DROP","PUT","TAKE","USE","WISH","THROW"
30240 DATA "HELP","KILL","STOP","HIT","FIGHT","RUB"
30250 DATA "START","DRIVE","DRINK","EAT","BITE"
30295 DATA "*****"
30310 FOR I = 1 TO 37: READ NTYP(I): NEXT I
30320 DATA 1,1,1,1,1,1,1,1,1,1
30330 DATA 2,2,2,1,5,5,5,5,5,8
30340 DATA 8,8,8,8,15,15,15,15,5,5
30350 DATA 5,5,5,45,45,5,5
30400 FOR I = 1 TO 25: READ VTYP(I): NEXT I
30410 DATA 1,11,1,1,1,3,2,45,45,45
30420 DATA 45, 5, 5,5,8,8,40, 8,8,15
30430 DATA 15,15,315,315,315
30500 FOR I = 1 TO 37: READ STA(I): NEXT I
30510 DATA 0,0,0,0,0,0,0,0,0,0
30520 DATA 0,0,0,2,4,3,15,13,1,18
30530 DATA 16,15,17,14,16,14,18,12,5,9
30540 DATA 1,1,1,0,0,12,23
30600 FOR I = 1 TO 50: READ N(I): NEXT I
30610 FOR I = 1 TO 50: READ E(I): NEXT I
30620 FOR I = 1 TO 50: READ S(I): NEXT I
30630 FOR I = 1 TO 50: READ W(I): NEXT I
30640 DATA 50,0,2,0,-18,0,9,8,7,3,13,0,0,0,0,22,0,7,1,8,0,11,0,0,0
30650 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
30660 DATA 0,1,0,20,0,-18,0,9,1 ,0 ,14 ,0 ,0,0 ,0,0,21,0,0,3,11,0,0,0,0
30670 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
30675 DATA 19,3,10,0,0,0,-18,8 ,0,-11,-49,11,11,0,0,0,0,5,-10 ,0,22,16,0,0,0
30680 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
30685 DATA 2,0,20,0,0,12,0,20,8,0,21,6,0,11,11,0,0,6,0,4,17,21,0,0,0
30690 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
30800 FOR I = 1 TO 60: READ M(I): NEXT I
30810 DATA 24,26,0,2,0,60,30,55,14,100,21,25,0,4,0,60,40,90,16,40,23,0,0,6,0,0,0,0,17,50
30820 DATA 20,27,1,0,0,90,60,65,18,60,36,28,1,0,0,0,60,0,12,25,22,0,1,0,0,0,0,0,15,75
30830 MM = 6
30850 FOR I = 1 TO 50: READ LOC$(I): NEXT I
30860 DATA "MOUTH","TREE ROOM","WRITING ROOM","PIT","SOUTH LAKE","WEST LAKE","NORTH LAKE","MAZE ROOM","FROZEN RIVER","RIVER ROOM"
30870 DATA "HUB ROOM","ICE ROOM","CHIMNEY","GOLD ROOM","BONES","BATS","GHOST ROOM","MISTY LAKE","SWIFT RIVER","INTERSECTION"
30880 DATA "INTERSECTION","INTERSECTION","TREE TOP"," "," "," "," "," "," "," "
30885 DATA " "," "," "," "," "," "," "," "," "," "
30890 DATA " "," "," "," "," "," "," "," "
30895 DATA "OVER FALLS","YOUR HOME"
30900 FOR I = 1 TO 30: READ WT(I): NEXT I
30910 DATA 15,100,24,0,0,16,150,24,22,36
30920 DATA 18,30,21,22,36,19,50,24,20,0
30930 DATA 33,30,23,0,0,36,40,21,0,0
31000 FOR I = 1 TO 50: READ LDES$(I): NEXT I
31010 DATA "YOU ARE AT THE MOUTH OF A LARGE CAV- ERN. THE SIDES OF THE ENTRANCE SLOPE STEEPLY UPWARD, AND A MYSTERIOUS PASSAGE LEADS WEST INTO THE CAVE."
31020 DATA "A TOWERING, WITHERED TREE STANDS IN WHAT APPEARS TO BE A DRIED UP RIVER BED. FROM IT YOU SEEM TO HEAR ECHOINGSOUNDS SAYING 'WATER...WATER...WATER."
31030 DATA "THE ROOM IS A HUGE OVAL CHAMBER WITH TALL CEILINGS AND MASSIVE STALAGMITESAND A SMOOTH EASTERN WALL HAS SOME WRITING ON IT - CRYPTIC CHARACTERS THAT SPELL OUT, 'THE SPIRIT OF THE FRUIT'"
31040 DATA "A SMALL CHAMBER WITH AN IMMENSE STAL-AGMITE HANGING FROM THE CENTER OF THECEILING, DIRECTLY OVER THE MOUTH OF ABOTTOMLESS PIT."
31050 DATA "YOU STAND AT THE EDGE OF A MISTY LAKETHAT STRETCHES ENDLESSLY OUT BEFORE YOU TO THE NORTH."
31060 DATA "YOU ARE STANDING ON A DAMP, SANDY SHORELINE WITH A VERY LOW PASSAGE LEADING OFF TO THE WEST. A CLAMMY DRAFT ISSUES FROM THE LOW-CEILINGED PASSAGE."
31070 DATA "A SMALL, SANDY BEACH ON THE NORTHERN EDGE OF THE MISTY LAKE."
31080 DATA "TWISTING PASSAGES LEAD OFF IN ALL DIRECTIONS, INTERCONNECT, AND LEAD BACK AGAIN."
31090 DATA "WHAT APPEARS TO BE A PETRIFIED RIVER BED SLOPES GENTLY UPWARD LEADING TO- WARD THE WEST. IT HAS A FOUR-FOOT CEILING."
31100 DATA "YOU SEE A NARROW, CHURNING, UNDER- GROUND RIVER FLOWING TO THE SOUTH."
31110 DATA "A MAGNIFICENTLY DECORATED CHAMBER WITH CRYSTALINE DESIGNS AND INTRICATEROCK FORMATIONS. A NARROW FAST MOVINGRIVER FLOWS THROUGH THE ROOM. A NAT- URAL BRIDGE SPANS THE RIVER."
31120 DATA "MYSTERIOUSLY, ICE FORMS VERY QUICKLY IN THIS CHAMBER, ENCAPSULATING ANY- THING LEFT THERE FOR VERY LONG. THEREIS SO MUCH ICE THAT YOU CAN'T EVEN GET INTO THE ROOM; BUT, THERE IS AN EXIT ON THE FAR SIDE."
31130 DATA "A SMALL, SMOKE FILLED CHAMBER WITH A FIRE BURNING IN A NATURAL FIREPLACE IN THE NORTH WALL. APPARENTLY, A CHIMNEY LEADS FAR UP THROUGH THE ROCKAND OUT OF THE CAVERN."
31140 DATA "THE FIRST THING YOU NOTICE IS A PILE OF GOLDEN TREASURES NESTLED INTO A NOOK ON THE FAR SIDE. BEFORE YOU TAKEANOTHER STEP, A FOUL-SMELLING OGRE JUMPS OUT OF A HOLE IN THE SIDE WALL AND RUSHES AT YOU."
31150 DATA "LINING THE WALLS OF THE ROOM ARE THE SKELETONS OF PIRATES LONG SINCE DEAD.AN OMINOUS CURSE IS UTTERED BY ALL THE SKELETONS IN UNISON, AS YOU ENTERTHE ROOM, AND THE CURSE SHADOWS YOUR FURTHER TRAVELS."
31160 DATA "THE CEILING IS ALL BUT INVISIBLE FOR THE THOUSANDS OF BATS SLEEPING THERE.IN ONE CORNER LIES AN OLD RUSTED CHEST. THE BATS BEGIN TO STIR AS YOU OPEN THE CHEST TO DISCOVER IT IS FULLOF JEWELS."
31170 DATA "AN EERIE FEELING OF DEMONIC POWER LURKS IN THIS CHAMBER."
31180 DATA "A STRANGE GLOW EMANATES FROM THE BOT-TOM OF THE LAKE. IT IS AN ENOURMOUS, BRIGHT PEARL NESTLING INSIDE A GIGAN-TIC CLAM. THE CLAM IS AT THE BOTTOM OF THE LAKE, IN ONLY 10' OF WATER."
31190 DATA "THIS NARROW, FAST FLOWING RIVER IS OUTSIDE THE CAVERN. IT RUNS SOUTH FORA FEW YARDS AND THEN DISAPPEARS BACK UNDERGROUND."
31200 DATA " "
31210 DATA " "
31220 DATA " "
31230 DATA "YOU ARE AMONG THE GNARLED, AND WITHERED BRANCHES OF THE GREAT TREE. THE SOUNDS OF 'WATER' ARE EVEN LOUDER HERE."
31240 DATA " "
31250 DATA " "
31260 DATA " "
31270 DATA " "
31280 DATA " "
31290 DATA " "
31300 DATA " "
31310 DATA " "
31320 DATA " "
31330 DATA " "
31340 DATA " "
31350 DATA " "
31360 DATA " "
31370 DATA " "
31380 DATA " "
31390 DATA " "
31400 DATA " "
31410 DATA " "
31420 DATA " "
31430 DATA " "
31440 DATA " "
31450 DATA " "
31460 DATA " "
31470 DATA " "
31480 DATA " "
31490 DATA " "
31500 DATA " "
31900 RETURN
31999 HTAB 1: PRINT " ";: RETURN
32000 TEXT : HOME : INVERSE
32100 VTAB 24: GOSUB 31999: VTAB 1: GOSUB 31999: VTAB 11: GOSUB 31999: VTAB 16: GOSUB 31999
32200 VTAB 2: HTAB 1
32300 FOR I = 2 TO 10: PRINT " ";: HTAB 29: PRINT " ";: HTAB 39: PRINT " ": NEXT I
32400 FOR I = 11 TO 23: PRINT " ";: HTAB 39: PRINT " ": NEXT I
32500 NORMAL : POKE 32,1: POKE 33,37: POKE 34,16: POKE 35,23: VTAB 17: HTAB 2
32600 RETURN
33000 HOME : VTAB 2
33010 PRINT " THIS IS AN ADVENTURE FANTASY GAME IN WHICH YOU EXPLORE A MYSTERIOUS CAVERN INSOUTHWEST KENTUCKY CALLED ";: INVERSE : PRINT "DEVILS' DELVE";: NORMAL : PRINT "."
33020 PRINT
33030 PRINT " SPELUNKER IS AN INTERACTIVE GAME. YOUMUST CONVERSE WITH THE COMPUTER IN ORDERTO EXPLORE THE CAVERNS AND LOCATE THEIR TREASURES.";
33040 PRINT " YOU MAY USE SENTENCES IF YOUWISH; BUT THE COMPUTER WILL ONLY USE ONEVERB AND ONE NOUN TO ESTABLISH MEANING."
33050 PRINT "FOR THIS REASON, IT IS BEST TO CONVERSE IN VERB/NOUN PHRASES. FOR EXAMPLE: GO W GO NW TAKE CAMERA JUMP DOWN"
33060 PRINT "DO NOT USE THE FULL NAMES OF DIRECTIONS,THE INITIALS AS ILLUSTRATED ABOVE ARE ENOUGH."
33070 PRINT
33080 PRINT " YOU WILL FIND IT VERY HELPFUL TO DRAWA MAP TO KEEP TRACK OF YOUR POSITION."
33090 VTAB 24: PRINT " << PRESS THE SPACE BAR TO CONTINUE >>";
33100 GET A$
33110 HOME
33120 INVERSE : VTAB 4: HTAB 12: PRINT "POSSIBLE VERBS": NORMAL
33130 VTAB 6
33140 PRINT "BITE","FIGHT","RUN"
33150 PRINT "CARRY","GO","START"
33160 PRINT "CLIMB","HELP","STOP"
33170 PRINT "DIG","HIT","SWIM"
33180 PRINT "DRINK","JUMP","TAKE"
33190 PRINT "DRIVE","KILL","THROW"
33200 PRINT "DROP","LOOK","USE"
33210 PRINT "EAT","PUT","WALK"
33220 PRINT "","RUB","WISH"
33300 VTAB 24: PRINT " << PRESS THE SPACE BAR TO BEGIN >>";: GET A$
33310 RETURN
Text found in 110_Volume_110.dsk/SUBSCAN FOR TWO.bas:
0 REM **********************
1 REM * *
2 REM * SUBSCAN *
3 REM * *
4 REM * BY CHIP ANDERSON *
5 REM * 9/26/79 *
6 REM * *
7 REM **********************
10 D$ = CHR$(4): PRINT D$;"NOMON I,O,C"
15 TEXT : HOME
20 PRINT D$;"BLOAD SUBSCAN.X"
25 POKE 232,0: POKE 233,64
30 GOSUB 3000
35 GOSUB 2000
40 SEA = 1:PLANE = 2:SUB = 3:BOMB = 4
50 HGR
100 SX = 12:SY = 130
110 PX = 254:PY = 30
120 HCOLOR= 3: SCALE= 2: ROT= 0
130 DRAW PLANE AT PX,PY
140 DRAW SUB AT SX,SY
150 GOSUB 1000
200 SCALE= 2: ROT= 0
210 HCOLOR= 0: DRAW PLANE AT PX,PY
220 PX = PX -4: IF PX <12 THEN PX = 254
230 IF PDL(0) <100 THEN PY = PY -3: IF PY <12 THEN PY = 12
240 IF PDL(0) >180 THEN PY = PY +3: IF PY >77 THEN PY = 77
250 HCOLOR= 3: DRAW PLANE AT PX,PY
260 IF PFLAG = 1 THEN 300
270 IF PEEK( -16287) <128 THEN 400
280 PFLAG = 1:XPB = PX:YPB = PY +12
300 ROT= 16: IF BFLAG = 1 THEN ROT= 0: GOTO 320
310 IF YPB >103 THEN BFLAG = 1: HCOLOR= 0: DRAW BOMB AT XPB,YPB: GOSUB 1000:YPB = YPB +2
320 SCALE= 2: HCOLOR= 0: DRAW BOMB AT XPB,YPB
330 YPB = YPB +4: IF YPB >150 THEN 390
340 IF YPB <100 THEN XPB = PX
350 HCOLOR= 3: DRAW BOMB AT XPB,YPB
360 IF YPB >115 AND PEEK(234) >15 THEN 700
380 GOTO 400
390 PFLAG = 0:BFLAG = 0
400 IF DFLAG = 1 THEN 420
410 DLAY = INT( PDL(1) *7/255):TIME = DLAY *5
420 DLAY = DLAY -1: FOR I = 0 TO TIME: NEXT
430 IF DLAY >0 THEN DFLAG = 1: GOTO 485
440 SCALE= 2: ROT= 0
450 HCOLOR= 0: DRAW SUB AT SX,SY
460 DFLAG = 0
470 SX = SX +5: IF SX >254 THEN SX = 12
480 HCOLOR= 3: DRAW SUB AT SX,SY
485 IF SFLAG = 1 THEN 500
490 IF PEEK( -16286) <128 THEN 600
495 SFLAG = 1:XSB = SX:YSB = SY -6
500 IF MFLAG = 1 THEN 520
510 IF YSB <95 THEN MFLAG = 1: GOSUB 1000
520 ROT= 32: SCALE= 2: HCOLOR= 0: DRAW BOMB AT XSB,YSB
530 YSB = YSB -6: IF YSB <6 THEN 590
550 ROT= 32: HCOLOR= 3: DRAW BOMB AT XSB,YSB
560 IF YSB <85 AND PEEK(234) >15 AND YSB
Text found in 110_Volume_110.dsk/WORLD WAR.bas:
1 REM TODAYS DATE IS 12 NOV 78
2 REM WORLD POWER 6
3 REM LISTING IN APPLESOFT
4 REM
5 PRINT : PRINT : PRINT TAB( 11)"** WORLD POWER **": PRINT : PRINT
6 PRINT "** WRITTEN BY JOE JAWORSKI ON 6/27/77 **"
7 PRINT "** MODIFIED BY T N TAYLOR ON 9/09/78 **"
8 PRINT "** FM THE 2/78 ISSUE OF INTERFACE AGE **"
9 PRINT : PRINT : PRINT : PRINT
10 LINE = 0:W = 3:S$ = " SHORE"
12 REM LINES 10 TO 130 INITIALIZES ALL PARAMETERS, FILLS ASCII ARRAYS WITH NAMES, AND SETS RANDOM DEFENSES FOR BOTH ALLIES AND ENEMIES.
20 DIM A(10,10),C(10,10),N$(10),D$(5),L$(5)
30 DATA NO. AMERICA, AUSTRALIA, SO. AMERICA, RUSSIA, JAPAN, AFRICA
40 DATA KOREA,CHINA,GREENLAND,ENGLAND,TROOPS,PLANES,ARTILLARY
50 DATA TANKS,MISSILES,NORTH,SOUTH,EAST,WEST
70 FOR X = 1 TO 10: READ N$(X): NEXT X
80 FOR X = 1 TO 5: READ D$(X): NEXT X
90 FOR X = 1 TO 4: READ L$(X): NEXT X
100 FOR X = 1 TO 10:C(X,1) = INT((5000 * RND(X)) +5000) *10: NEXT X
110 FOR X = 1 TO 10: FOR J = 2 TO 5:C(X,J) = INT(50 * RND(X)) +25: NEXT J: NEXT X
120 FOR J = 1 TO 10: FOR X = 6 TO 10: LET C(J,X) = INT(4 * RND(X)) +1: NEXT X: NEXT J
130 FOR X = 1 TO 5: FOR J = 1 TO 10: LET A(X,J) = C(X,J):C(X,J) = 0: NEXT J: NEXT X
140 PRINT CHR$(27); CHR$(42); TAB( 15);"WORLD POWER": PRINT
141 REM
142 PRINT "DO YOU WANT INSTRUCTIONS? TYPE 1 FOR YES AND 2 FOR NO.": INPUT Z: PRINT
143 IF Z = 2 THEN 200
144 PRINT "WORLD POWER IS A WAR GAME PLAYED AGAINSTTHE COMPUTER FOR CONTROL OF 10 COUNTRIESWITH 4 SHORES EACH UTILIZING 5 DIFFERENTTYPES OF FORCES (TROOPS, PLANES, TANKS, ARTILLARY, AND MISSLES) GENERATED AT RANDOM WITHIN SET LIMITS."
145 PRINT "TO WIN YOU MUST EITHER DESTROY EACH OF THE OPPOSING 5 COUNTRIES FORCES OR CAPTURE THEM. THE COMPUTER WILL NOT ATTACK YOUR COUNTRIES NOR MOVE ITS DEFENSES, SOTHE CONTEST IS BASED UPON HOW AND HOW OFTEN YOU MANEUVER YOUR FORCES
146 PRINT : PRINT "MANUEVER 1 LISTS YOUR FORCES IN EACH COUNTRY ON COMMAND. M#2 TRANSPORTS BY SEA YOUR FORCES WHICH ARE THEN OPEN TO EITHER ATTACK OR STORMY WEATHER. M#3 WILL TELL YOU WHOSE TROOPS ARE IN EACH"
147 PRINT "COUNTRY AND WHO CONTROLS THE COUNTRY. "
148 PRINT : INPUT "TO CONTINUE, HIT RETURN.";R$
149 PRINT : PRINT "M#4 WILL SPY OUT THE ENEMY IN A COUNTRY AT A COST OF 10 PLANES BUT YOU MAY NOT FIND OUT EVERYTHING OR ANYTHING AT ALL."
150 PRINT "WHILE M#5 STARTS THE ATTACK. IF YOU OUTNUMBER THE ENEMY BY 1.5 TIME YOU WILL CAPTURE ITS REMAINING DEFENSES."
151 PRINT : PRINT "ENEMY TROOPS IN THE FIRST LISTED COUNTRY(THE LOWEST #) ON THE FIRST LISTED SHOREFIGHT FIRST, FOLLOWED BY ITS OTHER FORCES IN ORDER AS DO YOUR FORCES. GOOD LUCK."
199 REM LINES 200 TO 230 CAUSES A JUMP FROM THE MAIN PROGRAM LOOP TO THE APPRORIATE COMMAND SECTION
200 REM *MAIN PROGRAM LOOP*
204 PRINT
205 Y6 = Y6 +1
206 PRINT "MANEUVER: (1) COUNTRY STATUS, (2) TRANSPORT, (3) GLOBAL STATUS,"
207 PRINT " (4) SPY, OR (5) ATTACK?": INPUT M
208 PRINT
210 IF M >5 THEN 200
220 IF M <1 THEN 200
230 ON M GOTO 240,400,600,800,1000
239 REM LINES 240 TO 282 PRINTS THE STATUS REPORT FOR THE SPECIFIED COUNTRY.
240 INPUT "COUNTRY?: (1)NO. AMERICA, (2)AUSTRALIA, (3)SO. AMERICA, (4)RUSSIA, (5)JAPAN, (6)AFRICA, (7)KOREA, (8)CHINA, (9)GREENLAND, OR (10)ENGLAND?";R
242 IF R >10 THEN 240
244 IF R <1 THEN 240
250 PRINT : PRINT : PRINT : PRINT "STATUS REPORT: ";N$(R)
260 PRINT
261 PRINT "DEFENSE QUANTITY LOCATION"
262 PRINT
263 FOR X = 1 TO 5
270 PRINT D$(X); TAB( 16);A(R,X); TAB( 29);
271 IF A(R,X) < >0 THEN PRINT L$(A(R,(X +5))) +S$: GOTO 282
280 PRINT
282 NEXT X: GOTO 200
399 REM LINES 400 TO 570 TRANSFERS YOUR FORCES TO ANOTHER SHORE.
400 INPUT "ENTER COUNTRIES: (1)NO. AMERICA, (2)AUSTRALIA, (3)SO. AMERICA, (4)RUSSIA, (5)JAPAN, (6)AFRICA, (7)KOREA, (8)CHINA, (9)GREENLAND, (10)ENGLAND: (FROM,TO)?";F,T
410 IF F >10 THEN 400
420 IF F <1 THEN 400
430 IF T >10 THEN 400
440 IF T <1 THEN 400
449 PRINT
450 INPUT "WHAT DEFENSE? (1)TROOPS, (2)PLANES, (3)ARTILLERY, (4)TANKS, OR (5)MISSILES?";D
460 IF D >5 THEN 450
470 IF D <1 THEN 450
480 PRINT : INPUT "QUANTITY?";Q
481 IF Q = 0 THEN 200
490 IF A(F,D) > = Q THEN 500
495 PRINT "YOU ONLY HAVE ";A(F,D);" ";D$(D);" IN ";N$(F): GOTO 480
500 IF F < >T THEN 520
505 IF F <6 THEN 520
510 IF A(F,D) < >Q THEN PRINT "YOU MUST MOVE ALL ";A(F,D);" ";D$(D): GOTO 480
520 LET A(T,D) = A(T,D) +Q:A(F,D) = A(F,D) -Q
530 INPUT "WHAT SHORE? (1)NORTH, (2)SOUTH, (3)EAST OR (4)WEST?";L
540 IF L >4 THEN 530
550 IF L <1 THEN 530
560 LET A(T,(D +5)) = L
565 IF INT( RND(X) *100) >25 THEN 570
567 GOSUB 2000
570 GOTO 200
599 REM LINES 600 TO 640 PRINTS A GLOBAL REPORT OF POSSESSION AND IF THERE ARE ANY TROOPS IN EACH COUNTRY.
600 PRINT : PRINT : PRINT TAB( 10);"--- GLOBAL REPORT ---"
609 PRINT
610 PRINT "COUNTRY-OUR TROOPS-ENEMIES'-OURCOUNTRY?"
611 PRINT
620 FOR X = 1 TO 10: PRINT N$(X); TAB( 13);A(X,1); TAB( 21);C(X,1); TAB( 34);
630 K2 = 0: FOR F2 = 1 TO 5: IF C(X,F2) < >0 THEN K2 = K2 +1
635 NEXT F2
636 IF K2 >0 THEN PRINT "NO": GOTO 638
637 PRINT "YES"
638 NEXT X
640 GOTO 200
799 REM LINES 800 TO 890 COMPUTE THE RESULTS OF THE SPY MISSION
800 INPUT "ENTER COUNTRIES: (1)NO. AMERICA, (2)AUSTRALIA, (3)SO. AMERICA, (4)RUSSIA, (5)JAPAN, (6)AFRICA, (7)KOREA, (8)CHINA, (9)GREENLAND, (10)ENGLAND: (FROM,TO)?";F,T
801 IF T >5 GOTO 810
802 PRINT
803 PRINT "THERE IS NO NEED TO SPY ON YOUR ALLIES. JUST ASK FOR A STATUS REPORT."
804 GOTO 200
810 IF A(F,2) >9 THEN 820
811 PRINT
812 PRINT "YOU DON'T HAVE ENOUGH PLANES IN ";N$(F): GOTO 200
820 LET A(F,2) = A(F,2) -10
830 PRINT : PRINT : PRINT : PRINT "SPY MISSION REPORT: ";N$(T): PRINT
840 IF INT( RND(X) *100) >20 THEN 860
850 IF INT(50 * RND(X)) <26 THEN PRINT "ALL PLANES LOST AT SEA": GOTO 200
855 PRINT "PLANES SHOT DOWN OVER ";N$(T): GOTO 200
860 PRINT "DEFENSE QUANTITY LOCATION"
861 PRINT
862 FOR X = 1 TO 5
870 IF INT( RND(X) *100) <40 THEN NEXT X: GOTO 200
880 PRINT D$(X); TAB( 18);C(T,X); TAB( 34);
885 IF C(T,(X +5)) < >0 THEN PRINT L$(C(T,(X +5))): GOTO 890
888 PRINT
890 NEXT X: GOTO 200
999 REM LINES 1000 TO 1080 SEARCHES TO SEE IF BOTH SIDES ARE ON THE SAME SHORE IN A COUNTRY. IF NOT, THEN BACK TO THE MAIN PROGRAM.
1000 K = 0: FOR X = 1 TO 10: FOR J = 1 TO 5
1010 IF A(X,J) < >0 THEN 1040
1020 NEXT J: NEXT X: IF K >0 THEN 1000
1030 H = 0:K = 0: FOR X = 1 TO 10: FOR J = 1 TO 5
1032 IF C(X,J) < >0 THEN K = K +1
1033 IF A(X,J) < >0 THEN H = H +1
1035 NEXT J: NEXT X: IF K = 0 THEN 5000
1036 IF H = 0 THEN 4000
1037 PRINT : PRINT "NO MORE ATTACKS POSSIBLE."
1038 GOTO 200
1040 C = 1
1050 IF C(X,C) < >0 THEN 1080
1060 C = C +1: IF C = 6 THEN 1020
1070 GOTO 1050
1080 IF A(X,(J +5)) < >C(X,(C +5)) THEN 1060
1099 REM LINES 1100 TO 1200, 1360 TO 1450 CALCULATES BATTLE CASUALTIES AND CHECKS FOR VICTORY.
1100 K = K +1: PRINT : PRINT : PRINT : PRINT CHR$(7);"BATTLE IN ";N$(X);
1110 PRINT " ON THE ";L$(A(X,(J +5))) +S$;"!"
1120 PRINT "ENEMY ";D$(C),"ALLIED ";D$(J)
1150 O = C(X,C):O1 = A(X,J):E = O:E1 = O1
1160 IF J = 1 THEN IF C < >1 THEN 1360
1162 IF C = 1 THEN IF J < >1 THEN 1420
1165 PRINT E,E1
1170 GOSUB 2500
1175 IF E1 = 0 THEN E8 = 1: GOTO 1270
1178 IF E = 0 THEN E8 = 0: GOTO 1270
1180 IF E1 >E *1.7 THEN E8 = 0: GOTO 1270
1190 IF E >E1 *1.5 THEN E8 = 1: GOTO 1270
1200 GOTO 1165
1269 REM LINES 1270 TO 1348 REORTS THE VICTORY FOR THE BATTLE.
1270 PRINT E,E1: PRINT : PRINT "***** A VICTORY FOR THE ";
1280 IF E8 = 1 THEN PRINT "ENEMY IN ";: GOTO 1288
1285 PRINT "ALLIES IN ";
1288 PRINT N$(X);" ON THE ";L$(A(X,(J +5))) +S$
1300 PRINT "TOTAL CASUALTIES: "
1310 PRINT "ENEMY ";D$(C);": ";O -E
1320 PRINT "ALLIED ";D$(J);": ";O1 -E1
1330 IF E8 = 1 THEN C(X,J) = C(X,J) +A(X,J):A(X,J) = 0: GOTO 1348
1340 A(X,C) = A(X,C) +C(X,C):C(X,C) = 0:A(X,(C +5)) = C(X,(C +5))
1345 PRINT E;D$(C);" WERE CAPTURED. "
1346 FOR I = 1 TO 3000: NEXT I: GOTO 1020
1348 C(X,(J +5)) = A(X,(J +5)): GOTO 1020
1360 PRINT E,E1
1370 GOSUB 2500
1375 IF E = 0 THEN E8 = 0: GOTO 1270
1377 IF E1 = 0 THEN E8 = 1: GOTO 1270
1380 IF E1/1000 >E THEN E8 = 0: GOTO 1270
1385 IF E >E1 *1000 THEN E8 = 1: GOTO 1270
1390 GOTO 1360
1420 PRINT E,E1
1430 GOSUB 2500
1440 IF E = 0 THEN E8 = 0: GOTO 1270
1442 IF E1 = 0 THEN E8 = 1: GOTO 1270
1445 IF E/1000 >E1 THEN E8 = 1: GOTO 1270
1448 IF E1 >E *1000 THEN E8 = 1: GOTO 1270
1450 GOTO 1420
1999 REM LINES2000-2080 CALCULATES THE LOSS OF FORCES DURING TRANSPORTATION.
2000 R = INT(100 * RND(X)) +1:X2 = INT(10 * RND(X)) +2: IF D = 1 THEN X2 = INT(100 * RND(X)) +2
2010 IF A(T,D) < = X2 THEN X2 = A(T,D)
2015 A(T,D) = A(T,D) -X2
2020 IF R <33 THEN 2070
2030 IF R <66 THEN 2080
2040 PRINT "AMBUSH DURING TRANSPORT!"
2050 PRINT "YOU JUST LOST ";X2;D$(D)
2060 PRINT "TOTAL ARRIVED IN ";N$(T);"= ";A(T,D): RETURN
2070 PRINT "SNIPERS ON THE ";L$(A(T,(D +5))) +S$: GOTO 2050
2080 PRINT "VIOLENT SEAS SINKS A TRANSPORT SHIP": GOTO 2050
2499 REM LINES 2500 TO 2550 CALCULATES THE CASUALTIES FOR THE PRESENT BATTLE.
2500 E = E - INT((E/3) * RND(X)) -2
2510 IF E < = 0 THEN E = 0
2520 E1 = E1 - INT((E1/3) * RND(X)) -2
2530 IF E1 < = 0 THEN E1 = 0
2540 A(X,J) = E1:C(X,C) = E
2550 RETURN
3999 REM LINES 4000 TO 4010 PRINTS THE END OF THE GAME WHEN THE ALLIES RUN OUT OF FORCES.
4000 PRINT : PRINT : PRINT "SORRY, YOU BLEW IT."
4010 PRINT "ALL YOUR DEFENSES ARE GONE.": PRINT : PRINT : PRINT : GOTO 5010
4999 REM LINES 5000 TO 5010 PRINTS THE END OF THE GAME AND THE NUMBER OF MANEUVERS IT TAKES TO WIN WHEN THE ENEMY RUN OUT OF FORCES.
5000 PRINT : PRINT : PRINT "CONGRATULATIONS!"
5005 PRINT "YOU HAVE CONQUERED THE WORLD IN ";Y6;" MANEUVERS!"
5010 END
- Addeddate
- 2014-08-18 01:09:58
- Emulator
- apple2e
- Emulator_ext
- dsk
- Identifier
- riag_010_110_Volume_110
- Scanner
- Internet Archive Python library 0.7.0