RIAG Crate 11: RIC Programs 81
Item Preview
Share or Embed This Item
Flag this item for
RIAG Crate 11: RIC Programs 81
- Language
- English
Notes
Disk info for RIC_Programs_81.dsk:
File Name: riag_011_RIC_Programs_81/RIC_Programs_81.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 1536
Used Space (bytes): 141824
Physical Size (KB): 140
Free Space (KB): 1
Used Space (KB): 138
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 6
Used Sectors: 554
Tracks On Disk: 35
Sectors On Disk: 16
Text found in RIC_Programs_81.dsk/ANIMATED ANAGRAMS.bas:
1 REM +-------------------+ + ANIMATED ANAGRAMS + + + + KARL S. WITTMAN + + + + USING THE + + GRAPHICS MAGICIAN + +-------------------+
2 GOSUB 1000
3 TEXT : HOME : VTAB 10: INVERSE : PRINT "INSTRUCTIONS";: NORMAL : INPUT " (Y/N) ? ";AN$: IF AN$ = "Y" THEN GOSUB 2000
4 HOME : VTAB 10: FLASH : PRINT "LOADING PROGRAM ... ": NORMAL
5 HIMEM: 26139
10 PRINT CHR$(4);"BLOAD LETTERS.ANM"
15 HGR2
20 KK = 0
25 ONERR GOTO 999
30 READ A$,ANA$
35 B$ = ""
40 IF LEN(A$) >28 THEN 30
50 HGR : HOME
55 HTAB 1: VTAB 21: PRINT "YOUR ANSWER:";
56 HTAB 1: VTAB 23: PRINT "TIME= ";
60 FOR I = 1 TO LEN(A$)
65 A = ASC( MID$ (A$,I,1)) -65
70 IF A <0 OR A >25 THEN POKE 37888 +I -1,26: GOTO 80
75 POKE 37888 +I -1,A
80 NEXT I
90 FOR J = I TO 28: POKE 37888 +J -1,26: NEXT : POKE 37916,255
100 CALL 36928
101 TT = 14
104 KK = KK +1
105 VTAB 23: HTAB 7: INVERSE : PRINT INT(KK/TT);: NORMAL : PRINT " SECONDS"
106 IF KK = 200 THEN PRINT CHR$(7): FLASH : HOME : VTAB 21: PRINT "TIME IS UP.";: NORMAL : PRINT " THE ANSWER IS ";: INVERSE : PRINT ANA$: NORMAL : FOR P = 1 TO 2000: NEXT P: GOTO 20
108 IF PEEK( -16384) <127 THEN 100
109 POKE 49168,0: IF PEEK( -16384) = 13 THEN 122
110 B$ = B$ + CHR$( PEEK( -16384)): VTAB 21: HTAB 13: PRINT B$;
115 GOTO 100
120 VTAB 21: HTAB 13: INPUT "";B$: IF B$ = ANA$ THEN VTAB 22: HTAB 13: INVERSE : PRINT "CORRECT": NORMAL : FOR P = 1 TO 750: NEXT P: GOTO 20
122 VTAB 21: HTAB 13: PRINT B$;: IF B$ = ANA$ THEN VTAB 22: HTAB 13: INVERSE : PRINT "CORRECT": NORMAL : FOR P = 1 TO 750: NEXT P: GOTO 20
125 IF B$ = "/" THEN 999
130 VTAB 21: CALL -868: INVERSE : PRINT "WRONG. TRY AGAIN.": NORMAL :B$ = "": FOR P = 1 TO 750: NEXT P: VTAB 21: CALL -868: PRINT "YOUR ANSWER:";: GOTO 100
300 REM > DATA GOES HERE < > < > SCRAMBLED WORD < > IS FIRST < > CORRECT WORD < > IS NEXT <
305 DATA OUSEH,HOUSE
310 DATA ROWD,WORD
315 DATA YBBA,BABY
320 DATA FHSI,FISH
325 DATA AIRN,RAIN
330 DATA AHT,HAT
335 DATA OKBO,BOOK
340 DATA BLETA,TABLE
345 DATA PJUM,JUMP
350 DATA NDCAY,CANDY
355 DATA PLAPE,APPLE
360 DATA HULSGOA,GOULASH
365 DATA OCEAN,CANOE
999 TEXT : HOME : PRINT "NO MORE WORDS. GOODBYE.": PRINT : PRINT CHR$(4);"RUN HELLO"
1000 REM OPENING ROUTINE
1005 TEXT : HOME : HTAB 5: VTAB 10: INVERSE : PRINT "+++ ANIMATED ANAGRAMS +++": NORMAL
1010 HTAB 8: VTAB 12: PRINT "BY KARL S. WITTMAN"
1015 HTAB 4: VTAB 18: PRINT "USING THE GRAPHICS MAGICIAN"
1018 HTAB 8: PRINT "BY PENGUIN SOFTWARE"
1020 PRINT CHR$(4);"BLOAD ANANA.ANM"
1022 HGR2
1025 HGR : POKE -16302,0
1030 CALL 36928
1040 K = K +1
1050 IF K = 200 THEN RETURN
1055 IF K = 250 THEN RETURN
1060 GOTO 1030
2000 REM INSTRUCTIONS
2005 HOME
2010 HTAB 10: PRINT "INSTRUCTIONS"
2020 HTAB 10: PRINT "------------"
2025 VTAB 5
2030 PRINT "A SERIES OF ANIMATED ANAGRAMS WILL"
2035 PRINT "BE SHOWN ON THE SCREEN ONE AT A"
2040 PRINT "TIME. TYPE YOUR ANSWER AND THEN"
2045 PRINT " TO SEE IF YOU ARE CORRECT."
2050 PRINT "YOU GET 15 SECONDS IN WHICH TO"
2055 PRINT "RESPOND TO EACH ANAGRAM. GOOD LUCK."
2060 VTAB 23: PRINT "PRESS ANY KEY TO CONTINUE.";: GET ANY$
2070 RETURN
Text found in RIC_Programs_81.dsk/APPLE SIMON.bas:
5 GOSUB 7000
10 GR
20 COLOR= 2
30 FOR A1 = 0 TO 18
40 HLIN 0,18 AT A1
50 NEXT A1
60 COLOR= 11
70 FOR A2 = 0 TO 18
80 HLIN 20,38 AT A2
90 NEXT A2
100 COLOR= 9
110 FOR A3 = 20 TO 38
120 HLIN 0,18 AT A3
130 NEXT A3
140 COLOR= 12
150 FOR A4 = 20 TO 38
160 HLIN 20,38 AT A4
170 NEXT A4
180 CLEAR
190 S = -16336
200 COUNT = COUNT +1
210 B = INT( RND(1) *4 +1)
220 IF B = 1 THEN H$ = "Y"
230 IF B = 2 THEN H$ = "U"
240 IF B = 3 THEN H$ = "H"
250 IF B = 4 THEN H$ = "J"
260 IF COUNT = 1 THEN G$ = H$
270 IF COUNT >1 THEN G$ = G$ +H$
280 FOR S2 = 1 TO COUNT
290 IF MID$ (G$,S2,1) = "Y" THEN GOSUB 1000
300 IF MID$ (G$,S2,1) = "U" THEN GOSUB 2000
310 IF MID$ (G$,S2,1) = "H" THEN GOSUB 3000
320 IF MID$ (G$,S2,1) = "J" THEN GOSUB 4000
330 NEXT S2
340 FOR S3 = 1 TO COUNT
350 GET Z$
360 IF Z$ < > MID$ (G$,S3,1) THEN GOTO 5000
370 IF Z$ = "Y" THEN GOSUB 1000
380 IF Z$ = "U" THEN GOSUB 2000
390 IF Z$ = "H" THEN GOSUB 3000
400 IF Z$ = "J" THEN GOSUB 4000
410 NEXT S3
420 FOR PAUSE = 1 TO 1000: NEXT PAUSE
430 GOTO 200
1000 COLOR= 15
1010 FOR D1 = 4 TO 15
1020 HLIN 4,15 AT D1
1030 NEXT D1
1040 FOR E1 = 1 TO 25
1050 Z = PEEK(S)
1060 NEXT E1
1070 COLOR= 2
1080 FOR F1 = 4 TO 15
1090 HLIN 4,15 AT F1
1100 NEXT F1
1110 RETURN
2000 COLOR= 15
2010 FOR D2 = 4 TO 15
2020 HLIN 24,35 AT D2
2030 NEXT D2
2040 FOR E2 = 1 TO 25
2050 Z = PEEK(S) - PEEK(S)
2060 NEXT E2
2070 COLOR= 11
2080 FOR F2 = 4 TO 15
2090 HLIN 24,35 AT F2
2100 NEXT F2
2110 RETURN
3000 COLOR= 15
3010 FOR D3 = 24 TO 35
3020 HLIN 4,15 AT D3
3030 NEXT D3
3040 FOR E3 = 1 TO 25
3050 Z = PEEK(S) - PEEK(S) + PEEK(S)
3060 NEXT E3
3070 COLOR= 9
3080 FOR F3 = 24 TO 35
3090 HLIN 4,15 AT F3
3100 NEXT F3
3110 RETURN
4000 COLOR= 15
4010 FOR D4 = 24 TO 35
4020 HLIN 24,35 AT D4
4030 NEXT D4
4040 FOR E4 = 1 TO 25
4050 Z = PEEK(S) - PEEK(S) + PEEK(S) - PEEK(S)
4060 NEXT E4
4070 COLOR= 12
4080 FOR F4 = 24 TO 35
4090 HLIN 24,35 AT F4
4100 NEXT F4
4110 RETURN
5000 HOME
5010 PRINT
5020 PRINT "YOUR SCORE = ";COUNT -1
5030 FOR PAUSE = 1 TO 4000: NEXT PAUSE
6000 HOME
6010 PRINT
6020 PRINT "DO YOU WANT TO PLAY AGAIN?"
6030 PRINT "PRESS 'Y' FOR YES AND 'N' FOR NO"
6040 GET W$
6045 HOME
6050 IF W$ = "Y" THEN GOTO 180
6060 IF W$ = "N" THEN TEXT : HOME : PR# 6
7000 HOME
7005 PRINT "THIS IS A GAME THAT REQUIRES"
7010 PRINT "GREAT CONCENTRATION. USE THE"
7020 PRINT "Y,U,H,AND J KEYS AND TRY TO "
7030 PRINT "FOLLOW THE COMPUTER'S PATTERN."
7040 PRINT
7050 PRINT "HIT ANY KEY TO BEGIN.": GET AA$
7090 HOME
7100 RETURN
Text found in RIC_Programs_81.dsk/BLACKJACK.2.bas:
100 REM * BY DARREL RAINES *
110 REM * LAST UPDATE 8/4/83 *
120 LOMEM: 28928: POKE 34,20
130 VTAB 9: HTAB 16: INVERSE : PRINT "BLACKJACK": NORMAL
140 VTAB 11: HTAB 12: PRINT "BY DARREL RAINES"
150 DIM OD(51),SD(52),N$(1),PT(4),AC(4),MN(1),BT(4),CD(5),SP(1),FE(1),LN(1)
160 VTAB 14: HTAB 5: PRINT "HOW MANY PLAYERS (1 OR 2)? ";: GET A$: IF (A$ < >"1") AND (A$ < >"2") THEN 160
170 PRINT :NP = VAL(A$)
180 VTAB 17: PRINT "INPUT A MAXIMUM OF NINE CHARACTERS FOR": PRINT "EACH PLAYER--> ";: INPUT "#1: ";N$(0)
190 IF NP = 2 THEN HTAB 18: INPUT "#2: ";N$(1)
200 FOR I = 0 TO 1
210 IF LEN(N$(I)) >9 THEN N$(I) = MID$ (N$(I),1,9)
220 NEXT I
230 MN(0) = 1000:MN(1) = 1000:R1 = PEEK(78):R2 = PEEK(79)
240 GOSUB 1000
250 GOSUB 2000
260 REM * PLAY LOGIC *
270 FOR K = 0 TO NP -1
280 PL = K:SP(K) = 0:L = 0
290 IF L >SP(K) THEN 590
300 A$ = "":ND = 2
310 ROT= 16
320 DRAW 53 AT 60,43 +(K *72) +L *35
330 ROT= 0
340 IN = PL +L *3
350 IF PT(IN) = 21 THEN ND = 5: GOTO 520
360 IF (CD(PL) - INT(CD(PL)/13) *13) = (CD(PL +3) - INT(CD(PL +3)/13) *13) THEN SP(K) = .1
370 FOR J = 0 TO 2
380 IF PT(IN) >21 THEN PT(IN) = PT(IN) -( SGN(AC(IN)) *10):AC(IN) = AC(IN) -1: IF AC(IN) <0 THEN 510
390 IF A$ = "S" THEN 510
400 HOME
410 INVERSE : PRINT N$(K);: HTAB 15: NORMAL : PRINT "YOU MAY: S)TAND"
420 HTAB 25: PRINT "H)IT"
430 C = (J = 0) AND (MN(PL) = >(BT(PL) +BT(PL +3) +BT(IN)))
440 IF C THEN HTAB 25: PRINT "D)OUBLE DOWN"
450 IF C AND (SP(K) = .1) THEN HTAB 25: PRINT "SPLIT P)AIR";
460 VTAB 24: HTAB 1: PRINT "ENTER OPTION--";: GET A$
470 IF (A$ = "D") AND C THEN J = 2:A$ = "S":X = 136:Y = 18 +(K *72) +L *35: GOSUB 4000:X = 60:Y = 33 +K *72 +L *35:ER = 1:VL$ = STR$(BT(IN)): GOSUB 6000:ER = 0:BT(IN) = BT(IN) *2:VL$ = STR$(BT(IN)): GOSUB 6000
480 IF C AND (SP(K) = .1) AND (A$ = "P") THEN GOSUB 8000: GOTO 510
490 IF (A$ < >"S") AND (A$ < >"H") THEN 460
500 IF A$ = "H" THEN X = 136 +(J *28):Y = 18 +(K *72) +L *35: GOSUB 4000:ND = ND +1
510 NEXT J
520 ROT= 16
530 XDRAW 53 AT 60,43 +(K *72) +L *35
540 ROT= 0
550 IF (PT(IN) >21) AND (AC(IN) >0) THEN PT(IN) = PT(IN) -10
560 IF PT(IN) >21 THEN GOSUB 3000: GOTO 580
570 IF ND = 5 THEN GOSUB 3300
580 L = L +1: GOTO 290
590 NEXT K
600 HOME
610 IF (BT(0) = 0) AND (BT(1) = 0) AND (BT(3) = 0) AND (BT(4) = 0) THEN 860
620 SD(NC +1) = CD(5):SD(NC +2) = CD(2):NC = NC +2
630 X = 238:Y = 30:IN = 2:PL = 2:PT(2) = 0:AC(2) = 0
640 HCOLOR= 4: DRAW 18 AT 238,45: HCOLOR= 7
650 GOSUB 4000:Y = Y +15: GOSUB 4000:ND = 2
660 IF PT(2) = 21 THEN ND = 5: GOTO 740
670 FOR K = 0 TO 2
680 IF PT(2) >21 THEN PT(2) = PT(2) -( SGN(AC(2)) *10):AC(2) = AC(2) -1: IF AC(2) <0 THEN 730
690 IF (PT(2) = 17) AND (AC(2) >0) THEN 710
700 IF PT(2) >16 THEN 730
710 FOR I = 1 TO 2000: NEXT I
720 Y = 60 +K *15: GOSUB 4000:ND = ND +1
730 NEXT K
740 IF (PT(2) >21) AND (AC(2) >0) THEN PT(2) = PT(2) -10
750 IF PT(2) >21 THEN GOSUB 3000: GOTO 770
760 IF ND = 5 THEN GOSUB 3300
770 FOR PL = 0 TO NP -1
780 FOR L = 0 TO SP(PL)
790 IN = PL +L *3
800 IF BT(IN) = 0 THEN 850
810 HOME : VTAB 22: HTAB 10: PRINT N$(PL);", ";
820 IF PT(IN) >PT(2) THEN PRINT "YOU WIN!!": GOSUB 3700
830 IF PT(IN) 90) THEN LT = 93
2200 DRAW LT -42 AT 7 +(I *8),22 +(J *72)
2210 NEXT I,J
2220 DATA 24,34,23,25,33,32,23,25,33
2230 DATA 26,27,23,34,27,40
2500 REM 1STDEALRTN
2510 FOR I = 0 TO 4
2520 PT(I) = 0:AC(I) = 0
2530 NEXT I
2540 GOSUB 7000
2550 X = 80:Y = 18:IN = 0: GOSUB 4000:CD(0) = SD(NC +1)
2560 IF NP = 2 THEN X = 80:Y = 90:IN = 1: GOSUB 4000:CD(1) = SD(NC +1)
2570 IF NC = -1 THEN GOSUB 4500
2580 DRAW 18 AT 238,30:CD(2) = SD(NC):IN = 2: GOSUB 4080
2590 X = 108:Y = 18:IN = 0: GOSUB 4000:CD(3) = SD(NC +1)
2600 IF NP = 2 THEN X = 108:Y = 90:IN = 1: GOSUB 4000:CD(4) = SD(NC +1)
2610 HCOLOR= 4
2620 HPLOT 238,47 TO 240,44 TO 261,44 TO 263,47
2630 HCOLOR= 7
2640 X = 238:Y = 45:IN = 2: GOSUB 4000:CD(5) = SD(NC +1)
2650 RETURN
3000 REM BUSTED
3010 HOME : VTAB 22: HTAB 15: PRINT "* BUSTED *"
3020 GOSUB 5300
3030 IF PL = 2 THEN PT(2) = 0: RETURN
3040 WL = -1
3050 ER = 1:X = 60:Y = 33 +PL *72 +L *35:VL$ = STR$(BT(IN)): GOSUB 6000
3060 X = 36:Y = 50 +PL *72:VL$ = STR$(MN(PL)): GOSUB 6000
3070 MN(PL) = MN(PL) + INT(BT(IN) *WL) -(WL >0) * INT(BT(IN) *WL *FE(PL) +.99)
3080 ER = 0:VL$ = STR$(MN(PL)): GOSUB 6000
3090 BT(IN) = 0
3100 FOR I = 1 TO 2000: NEXT I
3110 RETURN
3300 REM * BLACKJACK *
3310 HOME : VTAB 22: HTAB 14: PRINT "* BLACKJACK *"
3320 GOSUB 5700
3330 IF PL = 2 THEN PT(0) = 0:PT(1) = 0: RETURN
3340 WL = 1.5
3350 GOTO 3050
3700 REM * REGULAR WIN *
3710 WL = 1
3720 GOTO 3050
4000 REM * CARD DRAW ROUTINE *
4010 IF NC = -1 THEN GOSUB 4500
4020 DRAW 18 AT X,Y
4030 SU = INT(SD(NC)/13):NU = SD(NC) -(SU *13)
4040 HCOLOR= 4 + INT(SU/2)
4050 DRAW 14 +SU AT X +12,Y +25
4060 HCOLOR= 7
4070 XDRAW 1 +NU AT X +5,Y +5
4080 GOSUB 5000
4090 IF NU >9 THEN NU = 9
4100 IF NU = 0 THEN NU = 10:AC(IN) = AC(IN) +1
4110 PT(IN) = PT(IN) +NU +1
4120 NC = NC -1
4130 FOR I = 1 TO 100: NEXT I
4140 RETURN
4500 REM * SHUFFLE DURING A HAND *
4510 HOME
4520 VTAB 22: HTAB 10: PRINT "I NEED TO SHUFFLE..."
4530 FOR I = 1 TO 2000: NEXT I
4540 POKE 230,64: CALL 62450: POKE 49237,0: POKE 49234,0
4550 GOSUB 1020
4560 POKE 49236,0: POKE 49235,0: POKE 230,32
4570 RETURN
5000 REM * DEAL CARD SOUND *
5010 POKE 28672,1: POKE 28673,32: POKE 28674,255: POKE 28675,1
5020 CALL 768
5030 RETURN
5300 REM * BUST SOUND *
5310 POKE 28672,10: POKE 28673,16
5320 FOR I = 0 TO 16 STEP 4: POKE 28674 +I,205: POKE 28675 +I,1: POKE 28676 +I,200: POKE 28677 +I,1: NEXT I
5330 CALL 768
5340 RETURN
5700 REM * BLACKJACK SOUND *
5710 POKE 28672,10: POKE 28673,16
5720 FOR I = 0 TO 9
5730 POKE 28674 +I *2,40 -I *3
5740 POKE 28675 +I *2,1
5750 NEXT I
5760 CALL 768
5770 RETURN
6000 REM * VALUE PRINT ROUTINE *
6010 IF ER = 1 THEN HCOLOR= 4
6020 LS = LEN(VL$)
6030 FOR N = 0 TO LS -1
6040 LT = VAL( MID$ (VL$,LS -N,1))
6050 IF LT <2 THEN LT = LT +49
6060 DRAW LT AT X -N *7,Y
6070 NEXT N
6080 HCOLOR= 7
6090 RETURN
7000 REM * BET INPUT *
7010 FOR I = 1 TO NP
7020 IF (MN(I -1) = 0) AND (FE(I -1) = .95) THEN 9000
7030 IF MN(I -1) = 0 THEN FE(I -1) = FE(I -1) +.05:LN(I -1) = LN(I -1) +1000:MN(I -1) = 1000: HOME : PRINT : PRINT "I HAVE LOANED YOU $1000, BUT WILL TAKE ";FE(I -1) *100;"% OF YOUR WINNINGS FROM NOW ON...": FOR J = 1 TO 3000: NEXT J:X = 36:Y = 50 +(I -1) *72:VL$ = "1000": GOSUB 6000
7040 IF MN(I -1) <5 THEN BT(I -1) = MN(I -1): GOTO 7080
7050 HOME : VTAB 22: PRINT N$(I -1);", WHAT IS YOUR BET (0=QUIT)?"
7060 HTAB 17: INPUT "-->";BT(I -1)
7070 IF (BT(I -1) >500) OR ((BT(I -1) <5) AND (BT(I -1) < >0)) OR (BT(I -1) >MN(I -1)) THEN PRINT "": GOTO 7050
7080 IF BT(I -1) = 0 THEN 9000
7090 X = 60:Y = 33 +(I -1) *72:VL$ = STR$(BT(I -1)): GOSUB 6000
7100 R1 = PEEK(78):R2 = PEEK(79)
7110 NEXT I
7120 RETURN
8000 REM * SPLIT PAIR *
8010 CD(PL) = 52:PT(IN) = PT(IN)/2 +AC(IN) *4.5:SP(K) = 1:J = -1
8020 HCOLOR= 4: DRAW 18 AT 108,18 +K *72: HCOLOR= 7
8030 X = 108:Y = 18 +K *72: GOSUB 4000
8040 SD(NC +1) = CD(PL +3):NC = NC +1
8050 X = 80:Y = 18 +K *72 +35:IN = PL +3: GOSUB 4000
8060 X = 108: GOSUB 4000
8070 BT(IN) = BT(PL):X = 60:Y = 33 +PL *72 +35:VL$ = STR$(BT(IN)): GOSUB 6000
8080 IN = PL: IF PT(IN) = 21 THEN ND = 5:J = 2
8090 RETURN
9000 REM * END PROGRAM *
9010 TEXT : HOME : VTAB 21
9020 FOR N = 0 TO NP -1
9030 MN(N) = MN(N) -1000 -LN(N):A$ = " LOST "
9040 IF MN(N) >0 THEN A$ = " WON "
9050 MN(N) = ABS(MN(N)): PRINT N$(N);", YOU";A$;"$";MN(N);"."
9060 NEXT N
9070 PRINT : PRINT CHR$(4);"RUN HELLO"
Text found in RIC_Programs_81.dsk/BLACKJACK.bas:
100 TEXT : HOME
110 PRINT CHR$(4);"BLOAD CARD.SHAPE.TABLE,A$6000"
120 PRINT CHR$(4);"BLOAD TONE SUB.OBJ,A$300"
130 POKE 232,0: POKE 233,96
140 SCALE= 1: ROT= 0
150 ONERR GOTO 3500
160 HGR : POKE 202, PEEK(78): POKE 203, PEEK(79)
170 FOR I = 51 TO 0 STEP -1
180 X = INT( RND(1) *255)
190 Y = INT( RND(1) *130)
200 CD = I: GOSUB 2000
210 NEXT I
220 HCOLOR= 4
230 FOR Y = 59 TO 99
240 HPLOT 79,Y TO 199,Y
250 NEXT Y
260 HCOLOR= 7
270 FOR I = 0 TO 8
280 READ LT
290 DRAW LT AT 100 +(I *10),79
300 NEXT I
310 DATA 24,34,23,25,33,32,23,25,33
320 HPLOT 79,99 TO 199,99 TO 199,59 TO 79,59 TO 79,99
330 FOR X = 83 TO 195 STEP 4
340 DRAW 52 AT X,95
350 NEXT X
360 FOR Y = 95 TO 63 STEP -4
370 DRAW 52 AT 195,Y
380 NEXT Y
390 FOR X = 195 TO 83 STEP -4
400 DRAW 52 AT X,63
410 NEXT X
420 FOR Y = 63 TO 95 STEP 4
430 DRAW 52 AT 83,Y
440 NEXT Y
450 VTAB 22: HTAB 25: PRINT "BY DARREL RAINES"
460 PRINT "DO YOU WISH TO SEE INSTRUCTIONS? ";
470 POKE 28672,1: POKE 28673,60:ER = 0
480 OF = -.5
490 OF = -OF
500 FOR X = 87 TO 195 STEP 4
510 XDRAW 51.5 +OF AT X,95
520 GOSUB 3000
530 DRAW 51.5 -OF AT X,95
540 NEXT X
550 FOR Y = 91 TO 63 STEP -4
560 XDRAW 51.5 +OF AT 195,Y
570 GOSUB 3000
580 DRAW 51.5 -OF AT 195,Y
590 NEXT Y
600 FOR X = 191 TO 83 STEP -4
610 XDRAW 51.5 +OF AT X,63
620 GOSUB 3000
630 DRAW 51.5 -OF AT X,63
640 NEXT X
650 FOR Y = 67 TO 95 STEP 4
660 XDRAW 51.5 +OF AT 83,Y
670 GOSUB 3000
680 DRAW 51.5 -OF AT 83,Y
690 NEXT Y
700 GOTO 490
1000 REM * CONTINUE PROGRAM *
1010 GET A$
1020 PRINT A$;
1030 IF A$ = "N" THEN 1280
1040 TEXT : HOME : INVERSE : PRINT "RULES OF PLAY:": NORMAL : PRINT : POKE 34,2
1050 PRINT " THIS BLACKJACK GAME IS LIKE MOST": PRINT "OTHERS. EACH PLAYER IS DEALT ONE HAND."
1060 PRINT "THE PLAYER MUST PLACE A BET BEFORE THE": PRINT "FIRST CARDS ARE DEALT. AFTER THE FIRST": PRINT "TWO CARDS, EACH PLAYER MAY DRAW ONE CARD";
1070 PRINT "AT A TIME UNTIL HE HAS MORE THAN 21": PRINT "POINTS OR WANTS TO STAND WITH THE POINT": PRINT "TOTAL THAT HE HAS. POINTS ARE COUNTED"
1080 PRINT "AS FOLLOWS: ACE -- 1 OR 11 POINTS": HTAB 15: PRINT "FACE -- 10 POINTS": HTAB 15: PRINT "OTHER -- NUMBER VALUE": PRINT
1090 PRINT " IF YOU BUST, YOU LOSE YOUR BET. IF": PRINT "YOU GET A BLACKJACK, YOU WIN ONE AND ONE";: PRINT "HALF TIMES YOUR BET. IF YOU CAN GET"
1100 PRINT "FIVE CARDS WITHOUT BUSTING, IT WILL": PRINT "COUNT AS A BLACKJACK. IF THE DEALER": PRINT "BUSTS OR HAS A LOWER POINT TOTAL THAN"
1110 PRINT "YOU, THEN YOU WIN THE AMOUNT OF YOUR": PRINT "BET. IF YOU TIE, YOU PUSH (NEITHER WIN": PRINT "NOR LOSE.)"
1120 GOSUB 4000
1130 HOME
1140 PRINT " THE DEALER WILL DRAW UNTIL HE HAS 17": PRINT "POINTS. HE WILL HIT 17 IF AN ACE HAS": PRINT "BEEN COUNTED AS 11 POINTS IN THAT HAND."
1150 PRINT : PRINT " THERE ARE TWO SPECIAL RULES FOR THE": PRINT "PLAYER. HE MAY DOUBLE HIS BET AFTER HE": PRINT "HAS SEEN THE FIRST TWO CARDS OF A HAND."
1160 PRINT "HOWEVER, IF HE DOES SO HE MUST TAKE ONE,";: PRINT "AND ONLY ONE, MORE CARD AFTER THAT.": PRINT
1170 PRINT "IF A PLAYER IS DEALT A PAIR AS THE FIRST";: PRINT "TWO CARDS OF A HAND, HE HAS THE OPTION": PRINT "OF SPLITTING THE CARDS INTO TWO HANDS": PRINT "AND THEN PLAYS FROM THERE. THIS MAY"
1180 PRINT "ONLY BE DONE ON THE FIRST TWO CARDS.": PRINT "BOTH OF THESE SPECIAL RULES ARE ALLOWED": PRINT "ONLY IF THE PLAYER HAS THE MONEY TO": PRINT "COVER THE BETS."
1190 GOSUB 4000
1200 HOME
1210 PRINT " YOUR GRANDMOTHER HAS GIVEN YOU $1000": PRINT "WHICH YOU ARE STARTING OFF WITH. SHE": PRINT "WOULD LIKE THE MONEY BACK WHEN YOU"
1220 PRINT "FINISH. SO DON'T LOSE IT ALL!!": PRINT : PRINT "YOU MAY BET ANY AMOUNT MORE THAN $5 AND": PRINT "LESS THAN $500. YOU WILL NEVER BE": PRINT "ALLOWED TO BET MORE THAN YOU HAVE.": PRINT
1230 PRINT " IF YOU DO LOSE ALL OF YOUR MONEY, YOU"
1240 PRINT "MAY BORROW ANOTHER $1000 FROM A GROUP OF";: INVERSE : PRINT "LOAN SHARKS";: NORMAL : PRINT ". THESE BOYS PLAY ROUGH SO"
1250 FLASH : PRINT "WATCH OUT";: NORMAL : PRINT ".": PRINT
1260 PRINT " ENTER 0 AS A BET TO QUIT THE GAME.": PRINT "GOOD LUCK..."
1270 GOSUB 4000
1280 TEXT : HOME
1290 PRINT
1300 PRINT CHR$(4);"RUN BLACKJACK.2"
1310 PRINT CHR$(4);"RUN HELLO"
2000 REM * CARD DRAW ROUTINE *
2010 DRAW 18 AT X,Y
2020 SU = INT(CD/13):NU = CD -(SU *13)
2030 HCOLOR= 4 + INT(SU/2)
2040 DRAW 14 +SU AT X +12,Y +25
2050 HCOLOR= 7
2060 XDRAW 1 +NU AT X +5,Y +5
2070 RETURN
3000 REM * CHECK FOR KEYBOARD INPUT *
3010 IF PEEK(49152) >127 THEN 1000
3020 IF ER = 0 THEN READ N1,N2: POKE 28674,N1: POKE 28675,N2: CALL 768
3030 RETURN
3500 REM * ERROR ROUTINE *
3510 ER = 1
3520 POKE 216,0
3530 RESUME
4000 REM * PAUSE UNTIL SPACE BAR *
4010 VTAB 24: HTAB 9: INVERSE : PRINT "";: NORMAL
4020 GET A$: IF A$ < >" " THEN 4020
4030 RETURN
5000 DATA 149,1,141,1,133,1,83,2,133,1,83,2
5010 DATA 133,1,83,7,74,1,70,1,66,1,83,1
5020 DATA 74,1,66,2,88,1,74,2,83,6,149,1
5030 DATA 141,1,133,1,83,2,133,1,83,2,133,1
5040 DATA 83,7,99,1,111,1,118,1,99,1,83,1
5050 DATA 66,2,74,1,83,1,99,1,74,2,224,2
5060 DATA 199,2,149,1,141,1,133,1,83,2,133,1
5070 DATA 83,2,133,1,83,7,74,1,70,1,66,1
5080 DATA 83,1,74,1,66,2,88,1,74,2,83,6
5090 DATA 83,1,74,1,66,1,83,1,74,1,66,2
5100 DATA 83,1,74,1,83,1,66,1,83,1,74,1
5110 DATA 66,2,83,1,74,1,83,1,66,1,83,1
5120 DATA 74,1,66,2,88,1,74,2,83,6
Text found in RIC_Programs_81.dsk/CHARGE SHAPES.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 04 00 0A 00 1D 00 27 00 2A 00 24 24 37 36 36 36 ......'. *.$$7666
$000010 25 24 2D 2D 3C 3F 3F 3F 3F 2E 2D 05 00 3F 3F 2E %$--?? ?.-..??.
$000020 2D 2D 2D 25 3F 3F 00 2C 3E 00 08 20 24 24 24 95 ---%??., >.. $$$.
$000030 92 62 0C 0C DC DB DB 13 0E 0E 0E 0E 06 00 00 00 .b..\[[. ........
$000040 08 08 08 08 08 08 08 08 88 08 08 08 08 08 08 08 ........ ........
$000050 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 ........ ........
$000060 88 88 08 08 08 08 08 08 88 08 08 08 08 08 08 08 ........ ........
$000070 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 ........ ........
** END **
Text found in RIC_Programs_81.dsk/CHARGE.bas:
10 REM **********************
20 REM * *
30 REM * CHARGE! *
40 REM * *
50 REM **********************
90 REM
100 GOSUB 6010: DIM SG(5,2): GOTO 7010
1000 REM * CHARGE MOVE ROUTINE *
1010 HP = SQR(XO *XO +YO *YO): IF HP = 0 THEN HP = 1
1020 XO = XO *S0/HP:YO = YO *S0/HP
1030 FOR I = OE TO FV:IM = PEEK(SS):IM = PEEK(SS): NEXT
1040 DRAW TR AT XP,YP
1050 XN = XO:YN = YO
1060 FOR I = ZE TO SL:X = SG(I,ZE) -XP:Y = SG(I,OE) -YP:HP = X *X +Y *Y:XN = XN -CG *SG(I,TW) *X/HP:YN = YN -CG *SG(I,TW) *Y/HP: NEXT
1070 XDRAW TR AT XP,YP:XP = XP +XN:YP = YP +YN
1080 IF XP TN OR YP O9 THEN GOTO 3010
1090 XDRAW TR AT XP,YP: GOTO 1060
2000 REM * DRAW IONS *
2010 HGR : SCALE= OE: ROT= ZE
2020 HPLOT ZE,ZE TO 278,ZE TO 278,159 TO ZE,159 TO ZE,ZE
2030 FOR I = OE TO 13: HPLOT 20 *I,157 TO 20 *I,159: NEXT
2040 FOR I = OE TO 7: HPLOT 276,20 *I TO 278,20 *I: NEXT
2050 HC = FV:SP = TW
2060 PO = -OE:PI = OE
2070 FOR I = OE TO SL
2080 SG(I,ZE) = 2 * INT(125 * RND(1)) +15
2090 SG(I,OE) = 2 * INT(65 * RND(1)) +14
2100 SG(I,TW) = -PI
2110 PI = PI *PO
2120 HC = HC -PI:SP = SP +PI
2130 HCOLOR= HC
2140 DRAW SP AT SG(I,ZE),SG(I,OE)
2150 NEXT
2160 HCOLOR= 7
2170 RETURN
3000 REM * IMPACT SEQUENCE *
3010 IF XP >278 THEN XP = 278: ROT= 48
3020 IF YP >159 THEN YP = 159: ROT= 0
3030 IF XP <0 THEN XP = 0: ROT= 16
3040 IF YP <0 THEN YP = 0: ROT= 32
3050 DRAW FR AT XP,YP: FOR I = OE TO 50:IM = PEEK(SS) - PEEK(SS): NEXT
4000 REM * SCOREKEEPING & WHOSE TURN *
4010 FOR I = OE TO HM
4020 IF I = MC THEN S(I) = S(I) + INT(XP *YP)
4030 NEXT
4040 IF INT(XP *YP) = 0 THEN PRINT : GOTO 4070
4050 GOSUB 8010
4060 HOME
4070 C = C +1
4080 IF C = FV *HM GOTO 5010
4090 IF M = HM THEN IF H = HM THEN H = OE:M = OE:MC = OE: GOSUB 2010: GOTO 7150
4100 IF H = HM THEN M = M +OE:MC = M:H = OE: GOSUB 2010: GOTO 7150
4110 MC = MC +1
4120 H = H +1
4130 IF MC >HM THEN MC = 1
4140 GOTO 7150
5000 REM * ENDING SEQUENCE *
5010 POKE 34,0
5020 HTAB 1: VTAB 24: GOSUB 9060: PRINT "ANOTHER GAME? (Y/N) ";
5030 GET Y$: IF Y$ < >"Y" THEN GOTO 5150
5040 H = 1:M = 1:MC = 1:C = 0
5050 FOR I = OE TO HM:S(I) = ZE: NEXT
5060 VTAB 21: HTAB 1: PRINT SPC( 80)
5070 HOME
5080 VTAB 24: HTAB 1: PRINT "SAME SKILL LEVEL? (Y/N) ";: GET Y$
5090 IF Y$ < >"Y" THEN HOME : VTAB 24: HTAB 1: INPUT "SKILL LEVEL (1-5) ? ";SL
5100 IF SL FV GOTO 5090
5110 HOME
5120 VTAB 24: HTAB 1: PRINT "SAME PLAYERS? (Y/N) ";: GET Y$
5130 IF Y$ = "Y" THEN C = 0: GOSUB 2010: GOTO 7140
5140 GOTO 7040
5150 HOME : TEXT : PRINT : PRINT CHR$(4);"RUN HELLO"
6000 REM * HEADING *
6010 PRINT CHR$(4);"BLOAD CHARGE SHAPES": POKE 232,0: POKE 233,96
6020 ZE = 0:OE = 1:TW = 2:C = 0:TR = 3:FR = 4:FV = 5:S0 = 10:CG = 25:SS = -16336:TN = 278:O9 = 159
6030 TEXT
6040 FLASH
6050 PRINT "***************************************"
6060 FOR I = OE TO 21: PRINT "*";: HTAB 39: PRINT "*": NEXT
6070 PRINT "***************************************"
6080 NORMAL
6090 GOSUB 9010
6100 VTAB 3: HTAB 15: PRINT "------------";
6110 FOR I = OE TO TR: VTAB TR +I: HTAB 14: PRINT "! !";: NEXT
6120 VTAB 7: HTAB 15: PRINT "------------";
6130 VTAB 5: HTAB 17: PRINT "CHARGE!";
6140 VTAB 14: HTAB 12: PRINT "A GAME FOR UP TO";
6150 VTAB 16: HTAB 14: PRINT "FOUR PLAYERS";
6180 FOR I = 1 TO 3000: NEXT I
6190 RETURN
7000 REM * START INFORMATION *
7010 HOME : HGR
7020 VTAB 22: INPUT "SKILL LEVEL (1-5) > ";SL
7030 IF SL <1 OR SL >5 THEN 7010
7040 GOSUB 2010
7050 HOME : VTAB 22: INPUT "HOW MANY PLAYERS? ";HM
7060 H = 1:M = 1:MC = 1
7070 IF HM <1 OR HM >4 THEN GOTO 7050
7080 FOR I = 1 TO HM
7090 HOME : VTAB 22: INPUT "WHAT'S YOUR NAME? ";NAME$(I)
7100 PRINT : PRINT "HI, ";NAME$(I)
7110 FOR J = 1 TO 1000: NEXT J
7120 HOME
7130 NEXT I
7140 VTAB 21: HTAB 1: PRINT NAME$(1): IF HM >1 THEN VTAB 21: HTAB 20: PRINT NAME$(2): IF HM >2 THEN VTAB 22: HTAB 1: PRINT NAME$(3): IF HM >3 THEN VTAB 22: HTAB 20: PRINT NAME$(4)
7150 XP = 7:YP = 7: POKE 34,23
7160 VTAB 24: HTAB 1: PRINT NAME$(MC);"'S TURN. DIRECTION (X,Y) ";
7170 INPUT XO,YO: GOTO 1010
8000 REM * TICKS UP SCORE *
8010 IF MC = 1 THEN HT = 12:VT = 21
8020 IF MC = 2 THEN HT = 32:VT = 21
8030 IF MC = 3 THEN HT = 12:VT = 22
8040 IF MC = 4 THEN HT = 32:VT = 22
8050 AM = S(MC)
8060 D%(1) = AM/100000:AM = AM -D%(1) *100000
8070 D%(2) = AM/10000:AM = AM -D%(2) *10000
8080 D%(3) = AM/1000:AM = AM -D%(3) *1000
8090 D%(4) = AM/100:AM = AM -D%(4) *100
8100 D%(5) = AM/10:AM = AM -D%(5) *10
8110 D%(6) = AM
8120 FOR J = 6 TO OE STEP -1
8130 FOR I = ZE TO D%(J)
8140 HTAB HT +J: VTAB VT: PRINT I;
8150 IM = PEEK(SS) - PEEK(SS) + PEEK(SS) - PEEK(SS) + PEEK(SS) - PEEK(SS)
8160 NEXT I
8170 NEXT J
8180 RETURN
9000 REM * FANFARE *
9010 FOR I = 0 TO 18
9020 READ X
9030 POKE 768 +I,X
9040 NEXT
9050 DATA 173,48,192,136,208,4,198,1,240,8,202,208,246,166,0,76,0,3,96
9060 S = 768
9070 POKE 1,50
9080 POKE 0,91
9090 CALL S
9100 FOR I = 1 TO 3: NEXT I
9110 POKE 1,33
9120 POKE 0,82
9130 CALL S
9140 FOR I = 1 TO 3: NEXT I
9150 POKE 1,33
9160 POKE 0,75
9170 CALL S
9180 FOR I = 1 TO 3: NEXT I
9190 POKE 1,130
9200 POKE 0,66
9210 CALL S
9220 FOR I = 1 TO 30: NEXT I
9230 POKE 1,50
9240 POKE 0,75
9250 CALL S
9260 POKE 1,255
9270 POKE 0,66
9280 CALL S
9290 RETURN
Text found in RIC_Programs_81.dsk/COLOR EVOLUTION.bas:
10 TEXT : HOME : LOMEM: 4 *4096
20 VTAB 5:P$ = "*****************": GOSUB 120
30 VTAB 6:P$ = "* *": GOSUB 120
35 VTAB 7:P$ = "* COLOR *": GOSUB 120
40 VTAB 8:P$ = "* EVOLUTION *": GOSUB 120
50 VTAB 9:P$ = "* *": GOSUB 120
60 VTAB 10:P$ = "*****************": GOSUB 120
70 VTAB 15: HTAB 9: PRINT "PRESS SPACE TO START."
80 J = RND(1):K = PEEK( -16384): IF K <128 THEN 80
90 POKE -16368,0: HOME
100 Q1 = 3:Q2 = 9
105 Q3 = 12:Q4 = 12:Q5 = 12
110 GOTO 130
120 PRINT TAB( 20 - LEN(P$)/2);P$: RETURN
130 FOR I = 1 TO 3000: NEXT I
150 DEF FN NX(X) = 20 *(X <0) +X *(X <20)
160 DEF FN NY(Y) = 24 *(Y <0) +Y *(Y <24)
180 DIM P%(39,47),N%(39,47),D%(39,47)
190 DIM CL%(2000),DL%(2000)
210 GR : POKE -16302,0: COLOR= Q1: FOR I = 0 TO 47: HLIN 0,39 AT I: NEXT I:NM = 0
220 GOSUB 830
240 GOTO 363
250 NC = 0:ND = 0:NG = NG +1
255 POKE 49168,0: IF PEEK(49152) = 27 THEN TEXT : PRINT : PRINT CHR$(4);"RUN HELLO"
260 X = 0
270 FOR I = 1 TO CN
280 Y = CL%(I): IF Y <0 THEN X = X +1: GOTO 360
290 COLOR= 15: PLOT 2 *X,2 *Y
300 D = DL%(I)
310 N = N%(X,Y) +D:N%(X,Y) = N
320 IF P%(X,Y) THEN ON N GOTO 345,345,350,355,345,345,345,345,345
330 IF N < >3 THEN 357
340 COLOR= Q3:EE = 0: GOSUB 430: GOTO 360
345 COLOR= Q1:EE = 1: GOSUB 430: GOTO 360
350 COLOR= Q4: GOSUB 900: GOTO 360
355 COLOR= Q5: GOSUB 900: GOTO 360
357 COLOR= Q1: PLOT 2 *X,2 *Y
360 NEXT I
363 E = INT( RND(1) *10) +1:
370 EE = 0
375 FOR I = 1 TO E
380 X = INT( RND(1) *20)
390 Y = INT( RND(1) *24)
400 COLOR= Q2: GOSUB 850
410 NEXT I
420 GOSUB 700: GOTO 250
430 IF EE = 1 THEN 440
435 PLOT 2 *X,2 *Y: PLOT 2 *X +1,2 *Y: PLOT 2 *X,2 *Y +1: PLOT 2 *X +1,2 *Y +1:P%(X,Y) = 1:D = 1: GOTO 460
440 PLOT 2 *X,2 *Y: PLOT 2 *X +1,2 *Y: PLOT 2 *X,2 *Y +1: PLOT 2 *X +1,2 *Y +1:P%(X,Y) = 0:D = -1
460 IF X = 0 OR X = 19 OR Y = 0 OR Y = 23 THEN 640
470 D%(X -1,Y -1) = D%(X -1,Y -1) +D
480 D%(X -1,Y) = D%(X -1,Y) +D
490 D%(X -1,Y +1) = D%(X -1,Y +1) +D
500 D%(X,Y -1) = D%(X,Y -1) +D
510 D%(X,Y) = D%(X,Y) +D
520 D%(X,Y +1) = D%(X,Y +1) +D
530 D%(X +1,Y -1) = D%(X +1,Y -1) +D
540 D%(X +1,Y) = D%(X +1,Y) +D
550 D%(X +1,Y +1) = D%(X +1,Y +1) +D
560 NM = NM +D
570 NC = NC +1
580 ND = ND +D
590 IF X XH THEN XH = X
620 IF Y >YH THEN YH = Y
630 RETURN
640 FOR X2 = X -1 TO X +1
650 FOR Y2 = Y -1 TO Y +1
660 X3 = FN NX(X2):Y3 = FN NY(Y2)
670 D%(X3,Y3) = D%(X3,Y3) +D
680 NEXT : NEXT
690 GOTO 560
700 CN = 0
710 XL = FN NX(XL -1):XH = FN NX(XH +1): IF XL > = XH THEN I = XL:XL = XH:XH = I: IF XL = 0 OR XH = 19 THEN XL = 0:XH = 19
720 YL = FN NY(YL -1):YH = FN NY(YH +1): IF YL > = YH THEN I = YL:YL = YH:YH = I: IF YL = 0 OR YH = 23 THEN YL = 0:YH = 23
730 IF XL = 0 THEN 750
740 FOR I = 0 TO XL -1:CN = CN +1:CL%(CN) = -1: NEXT
750 FOR X = XL TO XH: FOR Y = YL TO YH
760 IF NOT D%(X,Y) THEN 800
770 D = D%(X,Y)
780 CN = CN +1:D%(X,Y) = 0
790 CL%(CN) = Y:DL%(CN) = D
800 NEXT
810 CN = CN +1:CL%(CN) = -1
820 NEXT
830 XL = 19:XH = 0:YL = 23:YH = 0
840 RETURN
850 IF P%(X,Y) = 1 THEN 880
860 GOSUB 435
880 RETURN
900 PLOT 2 *X,2 *Y: PLOT 2 *X +1,2 *Y: PLOT 2 *X,2 *Y +1: PLOT 2 *X +1,2 *Y +1: RETURN
Text found in RIC_Programs_81.dsk/CURSORS.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 0C 00 20 00 47 00 59 00 5B 00 68 00 75 00 82 00 .. .G.Y. [.h.u...
$000010 95 00 9B 00 9B 00 9B 00 9B 00 00 00 00 00 00 00 ........ ........
$000020 09 2D 2D 15 3F 3F 3F 17 2D 2D 2D 2D 3E 3F 3F 3F .--.???. ---->???
$000030 37 2D 2D 2D 2D 3E 3F 3F 3F 37 2D 2D 2D 2D 1E 3F 7---->?? ?7----.?
$000040 3F 3F 0E 2D 2D 96 00 09 2D 2D 15 15 36 36 1E 1E ??.--... --..66..
$000050 3F 3F 1C 1C 24 24 0C 05 00 1D 00 36 36 36 2E 2D ??..$$.. ...666.-
$000060 2D 24 24 24 3C 3F 3F 00 12 36 36 2D 2D 25 24 3C -$$$?. .66--%$<
$000070 3F 3F 18 08 00 2E 68 49 29 B6 92 32 3F DB 1B 27 ??....hI )6.2?[.'
$000080 04 00 92 92 92 92 92 2D 2D 2D 2D 25 C0 C0 C0 C0 .......- ---%@@@@
$000090 C0 C0 C0 1B 00 2D 3E 37 2D 05 00 0D 16 1F 07 00 @@@..->7 -.......
$0000A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0000B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
$0000C0 00 00 00 00 00 00 00 00 A0 00 A5 3C C9 00 D0 02 ........ .%.@ %>I.P.F?
$0000E0 C6 3E A5 40 C9 00 D0 02 C6 41 C6 40 A5 3D C5 3F F>%@I.P. FAF@%=E?
$0000F0 D0 E2 A5 3C C5 3E D0 DC 60 D8 A0 00 4C 2C FE .. Pb%P\ `X .L,~
** END **
Text found in RIC_Programs_81.dsk/DUNGEON OF ARBEGLA.bas:
1 V = -16336
10 B$ = ""
100 HOME
110 PRINT " THE APPLE DUNGEON"
120 PRINT : PRINT " APPLE II"
130 PRINT : PRINT : PRINT : PRINT "A FANTASY GAME FOR THE PRE-ALGEBRA CLASS"
160 GOSUB 440
170 GOSUB 440
180 HOME : DIM A(9,9,2)
190 PRINT " YOU WILL BE TELEPORTED TO..."
200 PRINT
210 PRINT "THE ALGEBRA DUNGEON"
220 PRINT : PRINT
240 MA = 0:CA = 0:G = 1000:M1 = 1:K = 0:TR = 0
250 PRINT "ENTER YOUR CHARACTER'S NAME"
260 INPUT A$
270 GOSUB 440
280 PRINT : PRINT "YOU CARRY 1000 PIECES OF GOLD WITH YOU"
290 PRINT : GOSUB 440: PRINT A$;"...YOU ARE ON YOUR WAY"
300 GOSUB 440
310 GOSUB 480
320 HOME
330 PRINT "YOU HAVE ARRIVED AT...."
340 PRINT
350 PRINT "THE ALGEBRA DUNGEON...LEVEL 2"
360 PRINT
370 PRINT "YOU WILL ENCOUNTER MONSTERS AND"
380 PRINT "THIEVES, AND GOLD...BUT WATCH"
390 PRINT "YOUR STEP.........."
400 PRINT "TRAP DOORS CAN BE COSTLY...."
410 FOR AB = 1 TO 4540
420 NEXT AB
430 GOTO 1010
440 REM DELAY
450 FOR Z2 = 1 TO 908
460 NEXT Z2
470 RETURN
480 REM SET UP 2 LEVEL DUNGEON
490 FOR X = 1 TO 8
500 FOR Y = 1 TO 8
510 FOR Z = 1 TO 2
520 A(X,Y,Z) = INT( RND(1) *7 +1)
530 NEXT Z
540 NEXT Y
550 NEXT X
560 REM TRAP DOORS #8
570 H = INT( RND(1) *3 +1)
580 FOR A = 1 TO 2
590 FOR N = 1 TO H
600 X = INT( RND(1) *8 +1)
610 Y = INT( RND(1) *8 +1)
620 A(X,Y,A) = 8
630 NEXT N
640 NEXT A
650 REM STAIRWAYS #9
660 S = INT( RND(1) *4 +1) +2
670 FOR A = 1 TO 2
680 FOR N = 1 TO S
690 X = INT( RND(1) *8 +1)
700 Y = INT( RND(1) *8 +1)
710 A(X,Y,A) = 9
720 NEXT N
730 NEXT A
740 RETURN
750 REM STAIRWAY
760 L1 = L1 -1
770 PRINT "YOU WALK UP THE STAIRWAY"
780 GOSUB 440
790 PRINT "THE ENCHANTED KEY....OPENS THE LOCK"
800 GOSUB 440
810 IF L1 = 0 THEN 870
820 MA = 0:K = 0:K4 = INT( RND(1) *4 +1) +4
830 PRINT :CB = CA +K4
840 PRINT "YOU ARE AT.....LEVEL 1"
850 GOSUB 440: GOSUB 440: GOSUB 440: GOSUB 440
860 GOTO 1070
870 PRINT "YOU FOUND YOUR WAY ..."
880 PRINT "...OUT OF THE ALGEBRA DUNGEON"
890 PRINT
900 PRINT "YOU HAVE AQUIRED ";G;" PEICES OF GOLD"
910 GOSUB 930
920 GOTO 1910
930 GG = G +100: REM RATING
940 R = INT((GG *CA -7000 +1)/M1)
960 PRINT : PRINT "THE GAME RATING IS ";R
970 PRINT : IF G < = 0 THEN 4280
980 PRINT "YOU TOOK ";M1;" TURNS TO FIND THE WAY OUT,"
990 PRINT "AND ANSWERED ";CA;" QUESTIONS CORRECTLY"
1000 PRINT "OUT OF ";TR;" QUESTIONS ASKED.": RETURN
1010 REM SET UP 1ST MOVE
1020 C = INT( RND(1) *8 +1)
1030 D = INT( RND(1) *8 +1)
1040 A(C,D,2) = 1
1050 L1 = 2
1060 K4 = INT( RND(1) *4 +1) +4
1070 REM PLAYER MOVE ROUTINE
1080 HOME
1090 A = A(C,D,L1)
1100 ON A GOSUB 2220,2280,2340,2340,2390,2700,2750,2790,3070
1120 PRINT
1130 PRINT : IF G < = 0 THEN 1820
1140 PRINT A$;", WHAT IS YOUR ACTION OR MOVE?"
1160 PRINT : PRINT "(N)ORTH, (E)AST, (S)OUTH, (W)EST
1170 PRINT "(U)P, (M)AP, (G)OLD"
1180 INPUT M1$
1190 M1 = M1 +1: IF K = 0 AND M1 > = 140/L1 THEN 4190
1200 IF M1$ = "N" THEN 1290
1210 IF M1$ = "E" THEN 1340
1220 IF M1$ = "S" THEN 1390
1230 IF M1$ = "W" THEN 1440
1240 IF M1$ = "U" THEN 1490
1250 IF M1$ = "M" THEN 1610
1260 IF M1$ = "G" THEN 1670
1280 PRINT : GOTO 1120
1290 REM NORTH MOVEMENT
1300 IF A = 7 THEN 1710
1310 IF (D -1) = 0 THEN 1980
1320 D = D -1
1330 GOTO 1070
1340 REM EAST MOVE
1350 IF A = 6 THEN 1770
1360 IF (C +1) = 9 THEN 2030
1370 C = C +1
1380 GOTO 1070
1390 REM SOUTH MOVE
1400 IF A = 7 THEN 1710
1410 IF (D +1) = 9 THEN 2050
1420 D = D +1
1430 GOTO 1070
1440 REM WEST MOVE
1450 IF A = 6 THEN 1770
1460 IF (C -1) = 0 THEN 2070
1470 C = C -1
1480 GOTO 1070
1490 HOME : REM STAIRWAY UP
1500 IF A < >9 THEN 1580
1510 IF K = 1 THEN 750
1530 PRINT : PRINT "YOU CANNOT GO UP THE STAIRWAY"
1540 PRINT "YOU DON'T HAVE THE KEY"
1550 GOSUB 440
1570 PRINT : GOTO 1120
1580 PRINT "YOU ARE NOT AT A STAIRWAY"
1590 GOSUB 440
1600 GOTO 1120
1610 HOME : REM MAP
1620 IF MA = 1 THEN 2090
1630 PRINT "YOU DON'T HAVE THE MAP"
1650 PRINT : GOSUB 440
1660 GOTO 1120
1670 REM GOLD PIECES
1680 HOME : PRINT "YOU HAVE ";G;" PIECES OF GOLD WITH YOU"
1700 PRINT : GOTO 1120
1710 REM EW CORRIDOR
1720 PRINT
1730 HOME : PRINT "YOU ARE IN AN EAST-WEST CORRIDOR"
1740 PRINT "YOU CAN ONLY GO EAST OR WEST"
1750 PRINT
1760 GOTO 1120
1770 REM NS CORRIDOR
1780 PRINT
1790 HOME : PRINT "YOU ARE IN A NORTH-SOUTH CORRIDOR"
1800 PRINT "YOU CAN ONLY GO NORTH OR SOUTH"
1810 GOTO 1750
1820 REM GOLD ZERO
1830 GOSUB 440: GOSUB 440
1840 PRINT
1845 HOME : FOR I = 1 TO 10: PRINT B$: NEXT I
1850 PRINT "YOU LOST ALL YOUR GOLD AND YOU WERE"
1860 PRINT "...UNABLE TO MEET THE DEMANDS OF"
1870 PRINT "....THE ALGEBRA DUNGEON..."
1880 PRINT : PRINT
1890 PRINT "YOU CAN ONLY GO NORTH OR SOUTH"
1900 GOSUB 930
1910 PRINT
1920 PRINT "ANOTHER GAME?"
1930 PRINT "ENTER '1'-YES '0'-NO"
1940 INPUT AA
1950 IF AA < >1 THEN 1970
1960 HOME : GOTO 210
1970 PRINT CHR$(4);"RUN HELLO"
1980 HOME : PRINT "YOU ARE AT THE NORTH WALL"
1990 PRINT "YOU CANNOT PASS THROUGH"
2000 PRINT
2010 PRINT "TRY ANOTHER DIRECTION?"
2020 GOTO 1120
2030 HOME : PRINT "YOU ARE AT THE EAST WALL"
2040 GOTO 1990
2050 HOME : PRINT "YOU ARE AT THE SOUTH WALL"
2060 GOTO 1990
2070 HOME : PRINT "YOU ARE AT THE WEST WALL"
2080 GOTO 1990
2090 REM DISPLAY MAP
2100 HOME
2110 PRINT
2130 FOR Q = 1 TO 8
2140 FOR N = 1 TO 8
2150 IF C = N AND D = Q THEN PRINT "P1 ";: GOTO 2180
2160 S1 = A(N,Q,L1)
2170 ON S1 GOSUB 3110,3110,3130,3130,3150,3170,3190,3210,3220
2180 NEXT N
2190 PRINT
2200 NEXT Q
2210 GOTO 1120
2220 REM EMPTY ROOM
2230 PRINT
2240 PRINT "YOU ARE IN A COLD AND DARK"
2250 PRINT ".............EMPTY CHAMBER"
2260 PRINT
2270 RETURN
2280 REM EMPTY ROOM 2
2290 PRINT
2300 PRINT "YOU ARE IN A DAMP AND MISTY"
2310 PRINT " EMPTY CHAMBER"
2320 PRINT
2330 RETURN
2340 TR = TR +1: HOME : GOSUB 4140
2350 M4 = INT( RND(1) *6 +1)
2360 ON M4 GOSUB 3240,3370,3540,3670,4360,4420
2370 PRINT
2380 RETURN
2390 HOME : FOR I = 1 TO 5: PRINT B$: NEXT I: PRINT "THERE IS A THIEF IN THIS CHAMBER"
2400 A(C,D,L1) = 2
2410 GOSUB 440
2420 G4 = INT( RND(1) *350/L1 +1)
2430 Y = INT( RND(1) *8 +1)
2440 IF Y < = 3 THEN 2610
2450 PRINT
2460 PRINT ".......HE SURPRISES YOU": PRINT
2470 GOSUB 440
2480 PRINT "AS HE QUICKLY PASSES BY YOU HE"
2490 PRINT "SNATCHES...";G4;" PIECES OF GOLD": PRINT
2500 G = G -G4
2510 REM LOOK FOR MAP
2520 IF MA = 1 THEN RETURN
2530 MA = INT( RND(1) *4 +1): IF MA < = 2 THEN MA = 1
2540 IF MA = 1 THEN 2570
2550 RETURN
2560 GOSUB 440
2570 PRINT "YOU SEARCH THE CHAMBER AND"
2580 GOSUB 440
2585 FOR I = 1 TO 5: PRINT B$: NEXT I
2590 PRINT "YOU.....FIND A MAP"
2600 RETURN
2610 PRINT "YOU SURPRISED THE THIEF...."
2620 PRINT : GOSUB 440
2630 PRINT "AS HE RUNS OUT HE DROPS...."
2640 PRINT "....";G4;" PIECES OF GOLD"
2650 PRINT "YOU PICK UP THE GOLD":G = G +G4
2660 PRINT : IF MA = 1 THEN RETURN
2670 MA = INT( RND(1) *4 +1): IF MA < = 2 THEN MA = 1
2680 IF MA = 1 THEN 2570
2690 RETURN
2700 HOME : REM NORTH SOUTH CORRIDOR
2710 PRINT
2720 PRINT "YOU ENTER A NORTH-SOUTH CORRIDOR"
2730 PRINT "THRU A SECRET DOOR": PRINT : GOSUB 4310
2740 RETURN
2750 HOME : REM EAST WEST CORRIDOR
2760 PRINT
2770 PRINT "YOU ENTER AN EAST-WEST CORRIDOR"
2780 GOTO 2730
2790 REM TRAP DOOR
2795 FOR I = 1 TO 5: PRINT B$: NEXT I
2800 PRINT "YOU ACTIVATED A ...TRAP DOOR"
2810 GOSUB 440
2820 TD = INT( RND(1) *4 +1)
2830 IF TD > = 3 THEN 2880
2840 PRINT
2850 PRINT "BUT...YOU CAUGHT YOURSELF"
2860 PRINT "FROM FALLING"
2870 RETURN
2880 IF L1 = 2 THEN 2990
2890 L1 = L1 +1: PRINT :K = 1
2900 PRINT "YOU FELL THRU TO LEVEL 2 ...AND"
2910 G = 100
2920 GOSUB 440
2930 PRINT
2940 PRINT "YOU..............LOST"
2950 PRINT "MOST OF YOUR GOLD": PRINT
2960 PRINT "YOU HAVE..";G;" PIECES OF GOLD LEFT"
2970 PRINT "BUT....YOU STILL HAVE YOUR KEY"
2980 RETURN
2990 PRINT "YOU FELL INTO A DEEP...PIT"
3000 GOSUB 440
3010 PRINT "YOU'RE LUCKY...."
3020 PRINT "YOU DIDN'T GET HURT"
3030 PRINT
3040 GOSUB 440
3050 PRINT "BUT IN CLIMBING OUT..."
3060 GOTO 4230
3070 PRINT "YOU ARE AT A STAIRWAY"
3080 PRINT "......GOING UP"
3090 PRINT
3100 RETURN
3110 PRINT "O ";
3120 RETURN
3130 PRINT "M ";
3140 RETURN
3150 PRINT "? ";
3160 RETURN
3170 PRINT "NS ";
3180 RETURN
3190 PRINT "EW ";
3200 RETURN
3210 GOTO 3150
3220 PRINT "UP ";
3230 RETURN
3240 REM Y=PX
3250 GOSUB 4330
3260 GOSUB 3800
3270 GOSUB 3840:Y = P *X
3280 PRINT "Y = ";P;"X"
3290 PRINT : PRINT "IF Y= ";Y;" THEN SOLVE FOR X"
3300 PRINT : INPUT A1
3310 IF A1 = X THEN 3350
3320 REM LOSE GOLD
3330 GOSUB 4000
3340 RETURN
3350 GOSUB 3900
3360 RETURN
3370 REM Y=PX-Q
3380 GOSUB 4330
3390 GOSUB 3800
3400 GOSUB 3840:Y = P *X
3410 PRINT "Y = ";P;"X - ";Q
3420 PRINT : PRINT "IF Y = ";Y -Q;" THEN SOLVE FOR X"
3430 PRINT : INPUT A1
3440 IF A1 = X THEN 3470
3450 GOSUB 4000
3460 RETURN
3470 GOSUB 3900
3480 RETURN
3490 GOSUB 480
3500 H = 1:O = 9:W = 8
3510 B = 0:E = 5:R = 14
3520 C = 0:PR = 0
3530 GOTO 1010
3540 REM Y=PX+Q
3550 GOSUB 4330
3560 GOSUB 3800
3570 GOSUB 3840:Y = P *X
3580 PRINT "Y = ";P;"X + ";Q
3590 PRINT : PRINT "IF Y = ";Y +Q;" THEN SOLVE FOR X"
3600 PRINT : INPUT A1
3610 IF A1 = X THEN 3650
3620 REM LOSE GOLD
3630 GOSUB 4000
3640 RETURN
3650 GOSUB 3900
3660 RETURN
3670 REM X=PY+Q
3680 GOSUB 4330
3690 GOSUB 3800
3700 GOSUB 3840:X = P *Y +Q
3710 PRINT "X = ";P;"Y + ";Q
3720 PRINT : PRINT "IF Y = ";Y;" THEN SOLVE FOR X"
3730 PRINT : INPUT A1
3740 IF A1 = X THEN 3780
3750 REM LOSE GOLD
3760 GOSUB 4000
3770 RETURN
3780 GOSUB 3900
3790 RETURN
3800 PRINT "YOU MAY NOT PASS THRU UNTIL"
3810 PRINT "YOU SOLVE THIS EQUATION FOR X"
3820 PRINT
3830 RETURN
3840 REM RANDOM ROUTINE
3850 X = INT( RND(1) *50/L1 +1):P = INT( RND(1) *50/L1 +1)
3860 Y = INT( RND(1) *50/L1 +1):Q = INT( RND(1) *50/L1 +1)
3870 GOSUB 440
3880 GOSUB 440
3890 RETURN
3900 PRINT "CORRECT"
3910 G4 = INT( RND(1) *400/L1 +1) +25
3920 G = G +G4
3930 GOSUB 440
3940 PRINT "YOU WIN ";G4;" PIECES OF GOLD"
3950 A(C,D,L1) = 1
3960 CA = CA +1: IF K = 1 THEN RETURN
3970 IF L1 = 1 THEN 4210
3980 IF CA = K4 THEN 4090
3990 RETURN
4000 PRINT
4002 FOR I = 1 TO 225:Q = PEEK(V) + PEEK(V): NEXT I
4010 PRINT "INCORRECT"
4020 PRINT "THE CORRECT ANSWER IS ";X
4030 PRINT
4040 G4 = INT( RND(1) *350/L1 +1)
4050 G = G -G4
4060 GOSUB 440
4070 PRINT "YOU LOSE ";G4;" PIECES OF GOLD"
4080 RETURN
4090 GOSUB 440
4100 K = 1
4110 PRINT : FOR I = 1 TO 5: PRINT B$: NEXT I: PRINT "YOU HAVE FOUND THE ENCHANTED KEY..."
4120 GOSUB 440
4130 RETURN
4140 PRINT "YOU DISTURBED A MONSTER IN THIS CHAMBER"
4150 GOSUB 440
4160 PRINT "AND HE SPEAKS.............": PRINT
4170 GOSUB 440
4180 RETURN
4190 GOSUB 4100
4200 GOTO 1200
4210 IF CA = CB THEN 4090
4220 RETURN
4230 G = 100: GOSUB 440: PRINT
4240 PRINT "YOU..........DROPPED"
4250 PRINT "MOST OF YOUR GOLD."
4260 PRINT "YOU HAVE...";G;" PIECES OF GOLD LEFT"
4270 RETURN
4280 PRINT "YOU ANSWERED ";CA;" QUESTIONS CORRECTLY"
4290 PRINT "OUT OF ";TR;" QUESTIONS ASKED,": PRINT ".....IN ";M1;" TURNS."
4300 RETURN
4310 PRINT "THE DOOR CLOSES AND LOCKS BEHIND YOU": GOSUB 440
4320 RETURN
4330 PRINT "HALT...I AM THE KEEPER"
4340 PRINT "OF.............ALGEBRA"
4350 PRINT : RETURN
4360 REM X=PY
4370 GOSUB 4330
4380 GOSUB 3800
4390 GOSUB 3840:X = P *Y
4400 PRINT "X = ";P;"Y"
4410 GOTO 3720
4420 REM X=PY-Q
4430 GOSUB 4330
4440 GOSUB 3800
4450 GOSUB 3840:X = P *Y -Q
4460 PRINT "X = ";P;"Y - ";Q
4470 GOTO 3720
Text found in RIC_Programs_81.dsk/EVOLUTION INTRO.bas:
10 TEXT : HOME
20 D$ = CHR$(4)
30 PRINT " EVOLUTION"
40 PRINT
50 PRINT " GIVEN THE LAWS OF THERMODYNAMICS"
60 PRINT "GOVERNING THE ENERGY AND ENTROPY OF"
70 PRINT "SYSTEMS, HOW COULD LIFE HAVE EVOLVED?"
80 PRINT "SIMPLY STATED, THE LAWS ARE:"
90 PRINT "(1) ENERGY CONSERVATION (YOU CAN'T WIN)"
100 PRINT "(2) ENTROPY OR RANDOMNESS INCREASES"
110 PRINT " (YOU CAN'T BREAK EVEN)"
120 PRINT "(3) ABSOLUTE ZERO TEMPERATURE (YOU"
130 PRINT " CAN'T GET OUT OF THE GAME)"
140 PRINT " A FIRST STEP IN RESOLVING THE"
150 PRINT "PARADOX OF HOW HIGHLY ORGANIZED LIFE"
160 PRINT "DEVELOPED COUNTER TO THE LAW OF"
170 PRINT "INCREASING RANDOMNESS IN NATURE IS TO"
180 PRINT "RECOGNIZE OUR LACK OF INTUITION INTO"
190 PRINT "WHAT IS RANDOM. MOST PEOPLE, GIVEN THE"
200 PRINT "TASK OF RANDOMLY DISTRIBUTING BLACK"
210 PRINT "BATHROOM TILE AMONG THE BACKGROUND"
220 PRINT "WHITE TILE, WILL DO SO BY CREATING AN"
230 PRINT : PRINT " PRESS SPACE TO CONTINUE.": GET A$
235 HOME
240 PRINT "AESTHETICALLY PLEASING PATTERN OF"
250 PRINT "EVENLY MIXED BLACK-ON-WHITE. THIS IS"
260 PRINT "HIGHLY NONRANDOM. STATISTICALLY, IT IS"
270 PRINT "MUCH MORE LIKELY THAT THERE WILL BE"
280 PRINT "AREAS OF BLACK TILES TOGETHER AND LARGE"
290 PRINT "AREAS OF UNTOUCHED WHITE."
300 PRINT " IF SUCH 'FLUCTUATIONS' OF BLACK"
310 PRINT "TILES (OR MOLECULES OR CELLS) REACH A"
320 PRINT "CRITICAL SIZE THEY MAY 'SURVIVE' AND"
330 PRINT "NATURALLY DEVELOP INTO MORE AND MORE"
340 PRINT "COMPLEX STATES, DEPENDING ON THE RULES"
350 PRINT "THEY LIVE BY. THE POWER OF A SMALL"
360 PRINT "NUMBER OF FIXED RULES TO PRODUCE AN"
370 PRINT "UNPREDICTABLE AMOUNT OF COMPLEXITY IS"
380 PRINT "STRIKING. THE 'LIFE GAME', DEVELOPED"
390 PRINT "BY, AMONG OTHERS, THE MATHEMATICIANS"
400 PRINT "STANISLAUS ULAM AND JOHN CONWAY, BEST"
410 PRINT "SHOWS THIS POWER. THE THREE RULES"
420 PRINT "GOVERNING CELL LIFE ARE:"
425 PRINT : PRINT " PRESS SPACE TO CONTINUE.": GET A$: HOME
430 PRINT "(1) SURVIVAL (HAVING 2 OR 3 NEIGHBORS)"
450 PRINT "(2) BIRTH (SPACE HAVING 3 NEIGHBORS)"
460 PRINT "(3) DEATH (HAVING LESS THAN 2 OR"
470 PRINT " GREATER THAN 3 NEIGHBORS)"
480 PRINT " THESE CONCEPTS OF RANDOM"
490 PRINT "FLUCTUATIONS, CRITICAL SIZE, AND THE"
500 PRINT "POWER OF SIMPLE, FIXED LIFE RULES ARE"
510 PRINT "COMBINED IN THE FOLLOWING PROGRAMS. SIT"
520 PRINT "BACK AND WATCH HOW LONG LIFE TAKES"
530 PRINT "TO 'EVOLVE' AND THEN WATCH IT'S"
540 PRINT "PROGRESSION. THE HIGH-RESOLUTION SHAPE"
550 PRINT "TABLES AND SCANNING ROUTINE WERE"
560 PRINT "DESIGNED BY RAUL CARTAYA FOR HIS GAME"
570 PRINT "OF 'LIFE' FOR 'NIBBLE' MAGAZINE, 1982."
580 PRINT "FOR FURTHER READING I SUGGEST THE BOOK"
590 PRINT "'GRAMMATICAL MAN: INFORMATION, ENTROPY,"
600 PRINT "LANGUAGE, AND LIFE' BY JEREMY CAMPBELL,"
610 PRINT "SIMON AND SCHUSTER PUB.CO., 1982."
615 PRINT
620 PRINT " 1 = COLOR EVOLUTION"
630 PRINT " 2 = HI-RES EVOLUTION"
635 PRINT " 3 = REPEAT TUTORIAL"
638 PRINT " 4 = QUIT PROGRAM"
640 PRINT " WHICH?";: GET A$: PRINT A$
642 IF A$ = "4" THEN 680
650 IF A$ = "1" THEN PRINT D$;"RUN COLOR EVOLUTION"
660 IF A$ = "2" THEN PRINT D$;"RUN HI-RES EVOLUTION"
665 IF A$ = "3" THEN GOTO 10
670 HOME : VTAB 8: GOTO 620
680 PRINT D$;"RUN HELLO"
Text found in RIC_Programs_81.dsk/F.bas:
10 TEXT : HOME : LOMEM: 24576
15 VTAB 5: PRINT "DO YOU WISH TO SEE THE INSTRUCTIONS? N";: HTAB 38: GET A$: PRINT A$: IF A$ = "Y" THEN GOSUB 20000
18 HOME : PRINT "LET'S START THE GAME": VTAB 5
20 PRINT CHR$(4)"BLOAD CARD.SHPS,A$4000": POKE 232,0: POKE 233,64
30 DIM D(52),DK(52),V(35),S(35),X(42),Y(42),C$(13):L = 768:A1 = 8:A2 = 21:A3 = 27:A4 = 47:A5 = 32:A6 = 58: SCALE= 1: ROT= 0:CU = 1
40 GOSUB 30000
50 HTAB 14: PRINT " SHUFFLING "
220 R = RND( -( RND(1) ^2))
230 FOR C = 1 TO 52
235 R = INT(52 * RND(1) +1): IF R = C THEN 235
240 RT = DK(C):DK(C) = DK(R):DK(R) = RT:D(C) = DK(C):D(R) = DK(R)
250 PRINT SPC( C)"*";: CALL 768
260 NEXT : FOR P = 1 TO 500: NEXT : PRINT : HOME
270 POKE 34,20: HOME : HGR : HCOLOR= 6: HPLOT 0,0 TO 0,159 TO 268,159 TO 268,0 TO 2,0 TO 2,158 TO 266,158 TO 266,1 TO 2,1: FOR C = 1 TO 35:V(C) = D(C):D(C) = 0
280 S(C) = 14
290 IF V(C) >13 THEN S(C) = S(C) +1:V(C) = V(C) -13: GOTO 290
300 I = C
310 GOSUB 5000: NEXT : GOSUB 7000
320 C = 0: IF D(52) = 0 THEN 400: REM DEAL A CARD
330 C = C +1:C1 = 52 -C: IF D(C) = 0 THEN 330
340 I = 0:S(I) = 14
350 V(I) = D(C):D(C) = 0
360 S(I) = S(I) + INT((V(I) -1)/13):V(I) = V(I) -13 *(S(I) -14)
370 GOSUB 5000
400 IF C1 = 0 THEN GOSUB 9500
405 HTAB 1: VTAB 21: PRINT "[<- ->] MOVE POINTER [ESC] = QUIT": PRINT "[SPACE] PLAY CARD TO OUTPUT FILE [1-9-0] PLAY CARD FROM DECK": PRINT SPC( 7)"THE DECK HAS ";: INVERSE : PRINT C1;: NORMAL : PRINT " CARDS LEFT ";
410 POKE 49168,0
420 WAIT 49152,128
430 A = PEEK(49152) -128: POKE 49168,0
440 IF A >A4 AND A 1 THEN OC = CU:CU = CU -1: GOSUB 7500: GOSUB 7000: GOTO 400
470 IF A = A2 AND CU < >7 THEN OC = CU:CU = CU +1: GOSUB 7500: GOSUB 7000: GOTO 400
480 IF A = A1 AND CU = 1 THEN OC = CU:CU = CU +6: GOSUB 7500: GOSUB 7000: GOTO 400
490 IF A = A2 AND CU = 7 THEN OC = CU:CU = CU -6: GOSUB 7500: GOSUB 7000: GOTO 400
500 IF A < >A5 THEN HOME : PRINT : PRINT " YOU GOOFED - TRY AGAIN": FOR P = 1 TO 2000: NEXT : GOTO 400
510 IF V(CU) = 0 THEN HOME : PRINT "THERE ARE NO CARDS HERE!": FOR P = 1 TO 3000: NEXT : GOTO 400
520 J = 28
530 IF V(J +CU) < >0 THEN I = J +CU:II = I -7: GOTO 600
540 IF J >7 THEN J = J -7: GOTO 530
560 I = CU
570 IF (V(I) = V(0) +1) OR (V(I) = V(0) -1) THEN HCOLOR= 4: DRAW 18 AT X(I),Y(I):V(0) = V(I):V(I) = 0:S(0) = S(I):S(I) = 0:I = 0: GOSUB 5000: GOTO 9000
580 GOTO 8000
600 IF (V(I) = V(0) +1) OR (V(I) = V(0) -1) THEN HCOLOR= 4: DRAW 18 AT X(I),Y(I): HCOLOR= 7: DRAW S(II) +5 AT X(I),Y(I):V(0) = V(I):V(I) = 0:S(0) = S(I):S(I) = 0:I = 0: GOSUB 5000: GOTO 9000
610 GOTO 8000
4999 END
5000 POKE 783,100: HCOLOR= 7: DRAW 18 AT X(I),Y(I): HCOLOR= 4: DRAW V(I) AT X(I) +5,Y(I) +5: CALL L
5010 IF S(I) = 14 OR S(I) = 15 THEN HCOLOR= 4
5020 IF S(I) = 16 OR S(I) = 17 THEN HCOLOR= 5
5030 DRAW S(I) AT X(I) +12,Y(I) +25: RETURN
6000 VTAB 22: PRINT "GIVE UP ON THIS HAND? ";: GET A$: PRINT A$: IF A$ < >"Y" AND A$ < >"N" THEN 6000
6010 IF A$ = "N" THEN 400
6020 HOME
6025 VTAB 24: PRINT "DO YOU WANT TO TRY AGAIN? ";: POKE 49168,0
6028 GET A$: IF A$ < >"Y" AND A$ < >"N" THEN 6028
6030 PRINT A$: IF A$ = "Y" THEN HGR : TEXT : HOME : GOTO 50
6050 TEXT : HOME : PRINT CHR$(4);"RUN HELLO"
7000 I = CU +35: HCOLOR= 7: DRAW 53 AT X(I) +12,Y(I): RETURN
7500 I = OC +35: HCOLOR= 4: DRAW 53 AT X(I) +12,Y(I): RETURN
8000 HOME : PRINT : PRINT "THE "C$(V(I))" DOESN'T GO ON THE "C$(V(0))"!"
8130 FOR P = 1 TO 3000: NEXT : GOTO 400
9000 K = 0: FOR I = 1 TO 7:K = K +V(I): NEXT : IF K < >0 THEN GOTO 400
9060 HOME : VTAB 21: PRINT "YOUWINAND STILL HAD "C1" CARDS TO PLAY!": GOTO 6025
9500 TL = 0:SP = 0: FOR I = 1 TO 7: FOR J = 5 TO 1 STEP -1:JI = 7 *(J -1) +I: IF V(JI) < >0 THEN TL = TL +J:J = 1: IF V(JI) = V(0) +1 OR V(JI) = V(0) -1 THEN SP = 1:I = 7
9510 NEXT : NEXT
9520 IF SP = 1 THEN RETURN
9600 POP : HOME : VTAB 21: PRINT "YOU LEFT ";: FOR N = 1 TO TL: HTAB 10: PRINT N;: CALL 768: FOR W = 1 TO 500: NEXT : NEXT : PRINT " CARDS! YOU LOSE!": GOTO 6025
20000 TEXT : HOME
20010 PRINT "THE DECK IS SHUFFLED AND DEALT FACE UP IN 7 VERTICAL COLUMNS OF 5 CARDS EACH.": PRINT "THE NEXT CARD IS THEN DEALT,FACE UP, UNDER THESE CARDS TO START THE PILE."
20015 PRINT
20020 PRINT "THE OBJECT OF THE GAME IS TO TRANSFER ALL THE CARDS IN THE SEVEN COLUMNS TO THE OUTPUT PILE.": PRINT "ONLY THE CARDS AT THE BOTTOM OF EACH COLUMN IS PLAYABLE"
20030 PRINT "A CARD CAN BE PLAYED TO THE OUTPUT FILE IF IT IS ONE NUMBER HIGHER OR ONE NUMBERLOWER THAN THE FILE CARD.": INVERSE : PRINT "SUITS ARE IGNORED AND THE ACE EQUALS ONE": NORMAL
20040 PRINT "IF A CARD CANNOT BE PLAYED TO THE FILE, THEN A CARD IS DEALT FROM DECK TO THE FILE.": PRINT "IF THERE ARE NO CARDS LEFT IN THE DECK THEN YOU LOSE."
20050 VTAB 24: PRINT "PRESS ANY KEY TO START";: WAIT 49152,128: POKE 49168,0: PRINT : RETURN
30000 FOR I = 1 TO 13: READ C$(I): NEXT
30010 DATA ACE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING
30020 FOR I = 768 TO 789: READ J: POKE I,J: NEXT : DATA 160,1,162,0,138,24,233,1,208,252,141,48,192,232,224,125,208,242,136,208,237,96
30100 FOR X1 = 0 TO 2: FOR X2 = 0 TO 1: FOR X3 = 0 TO 6:I = 1 +X3 +7 *X2 +14 *X1:X(I) = 12 +32 *X3:Y(I) = 10 +15 *(2 *X1 +X2) +30 *(X1 = 2) *(X2 = 1): NEXT : NEXT : NEXT :X(0) = 120:Y(0) = 123
30110 FOR J = 1 TO 52:DK(J) = J: NEXT
31000 RETURN
49000 WAIT 49152,128
50000 END
59999 REM ADAPTED FROM ** ONE FOUNDATION ** - BY PAUL M. ZELMAN -
60000 REM COMPLETELY REWRITTEN 5/18/83 BOB RAGSDALE
60666 REM F
Text found in RIC_Programs_81.dsk/HELLO.bas:
1 FOR A = 1 TO 500: NEXT A: TEXT : HOME
2 D$ = ""
107 HOME
110 PRINT "DO YOU WANT TO:": PRINT : PRINT : PRINT : PRINT
120 PRINT " 1. LOAD A PROGRAM": PRINT
130 PRINT " 2. RUN A PROGRAM": PRINT
140 PRINT " 3. END FOR NOW": PRINT
145 FLASH
150 INPUT "ENTER A NUMBER (1, 2, OR 3) ";A
155 NORMAL
160 IF A <1 THEN PRINT "NUMBER MUST BE GREATER THAN 0": FOR M = 1 TO 5000: NEXT M: HOME : GOTO 110
170 IF A >3 THEN PRINT "NUMBER MUST BE LESS THAN 3": FOR M = 1 TO 5000: NEXT M: HOME : GOTO 110
180 IF A = 1 THEN 1000
190 IF A = 2 THEN 1000
200 IF A = 3 THEN END
1000 HOME
1010 PRINT TAB( 18)"MENU"
1020 PRINT : PRINT : PRINT
1025 GOSUB 7000
1030 PRINT " 1. KONG"
1040 PRINT " 2. PRIME TESTER"
1050 PRINT " 3. EVOLUTION INTRODUCTION"
1060 PRINT " 4. ANIMATED ANAGRAMS"
1070 PRINT " 5. F-SOLITAIRE"
1080 PRINT " 6. CHARGE"
1090 PRINT " 7. DUNGEON OF ARBEGLA"
1100 PRINT " 8. BLACKJACK"
1120 PRINT " 9. RAT MAZE"
1130 PRINT " 10. APPLE SIMON"
1140 PRINT : PRINT : INPUT "ENTER A NUMBER FROM 1 TO 10 ";B
1150 IF B <1 THEN PRINT "NUMBER LESS THAN 1--REENTER": FOR M = 1 TO 5000: NEXT M: GOTO 1000
1160 IF B >10 THEN PRINT "NUMBER GREATER THAN 10--REENTER": FOR M = 1 TO 5000: NEXT M: GOTO 1000
1165 D$ = ""
1170 IF A = 1 AND B = 1 THEN PRINT D$;"LOAD ";E$
1180 IF A = 1 AND B = 2 THEN PRINT D$;"LOAD ";F$
1190 IF A = 1 AND B = 3 THEN PRINT D$;"LOAD ";G$
1200 IF A = 1 AND B = 4 THEN PRINT D$;"LOAD ";H$
1300 IF A = 1 AND B = 5 THEN PRINT D$;"LOAD ";I$
1400 IF A = 1 AND B = 6 THEN PRINT D$;"LOAD ";J$
1500 IF A = 1 AND B = 7 THEN PRINT D$;"LOAD ";K$
1600 IF A = 1 AND B = 8 THEN PRINT D$;"LOAD ";L$
1610 IF A = 1 AND B = 9 THEN PRINT D$;"LOAD ";M$
1620 IF A = 1 AND B = 10 THEN PRINT D$;"LOAD ";N$
1630 IF A = 2 AND B = 1 THEN PRINT D$;"RUN ";E$
1640 IF A = 2 AND B = 2 THEN PRINT D$;"RUN ";F$
1650 IF A = 2 AND B = 3 THEN PRINT D$;"RUN ";G$
1660 IF A = 2 AND B = 4 THEN PRINT D$;"RUN ";H$
1670 IF A = 2 AND B = 5 THEN PRINT D$;"RUN ";I$
1680 IF A = 2 AND B = 6 THEN PRINT D$;"RUN ";J$
1690 IF A = 2 AND B = 7 THEN PRINT D$;"RUN ";K$
1700 IF A = 2 AND B = 8 THEN PRINT D$;"RUN ";L$
1710 IF A = 2 AND B = 9 THEN PRINT D$;"RUN ";M$
1720 IF A = 2 AND B = 10 THEN PRINT D$;"RUN ";N$
1730 END
7000 E$ = "KONG"
7010 F$ = "PRIME TESTER"
7020 G$ = "EVOLUTION INTRO"
7030 H$ = "ANIMATED ANAGRAMS"
7040 I$ = "F"
7050 J$ = "CHARGE"
7060 K$ = "DUNGEON OF ARBEGLA"
7070 L$ = "BLACKJACK"
7080 M$ = "RAT MAZE"
7090 N$ = "APPLE SIMON"
7100 RETURN
7200 END
0
5220
Text found in RIC_Programs_81.dsk/HI-RES EVOLUTION.bas:
10 TEXT : HOME : LOMEM: 4 *4096
20 VTAB 5:P$ = "*****************": GOSUB 120
30 VTAB 6:P$ = "* *": GOSUB 120
35 VTAB 7:P$ = "* HI-RES *": GOSUB 120
40 VTAB 8:P$ = "* EVOLUTION *": GOSUB 120
50 VTAB 9:P$ = "* *": GOSUB 120
60 VTAB 10:P$ = "*****************": GOSUB 120
70 VTAB 15: HTAB 9: PRINT "PRESS SPACE TO START."
80 E = INT( RND(1) *20) +7:K = PEEK( -16384): IF K <128 THEN 80
90 POKE -16368,0: HOME
100 GOTO 130
110 XDRAW 1 AT FN PC(X), FN PC(Y): RETURN
120 PRINT TAB( 20 - LEN(P$)/2);P$: RETURN
130 FOR I = 1 TO 3000: NEXT I
140 GOSUB 850
150 DEF FN NX(X) = 35 *(X <0) +X *(X <35)
160 DEF FN NY(Y) = 20 *(Y <0) +Y *(Y <20)
170 DEF FN PC(Z) = 8 *Z +4
180 DIM P%(34,19),N%(34,19),D%(34,19)
190 DIM CL%(734),DL%(734)
210 HGR :NM = 0
220 GOSUB 830
240 GOTO 370
250 NC = 0:ND = 0:NG = NG +1: HOME
255 POKE 49168,0: IF PEEK(49152) = 27 THEN PRINT : PRINT CHR$(4);"RUN HELLO"
260 X = 0
270 FOR I = 1 TO CN
280 Y = CL%(I): IF Y <0 THEN X = X +1: GOTO 360
290 GOSUB 110
300 D = DL%(I)
310 N = N%(X,Y) +D:N%(X,Y) = N
320 IF P%(X,Y) THEN ON N GOTO 340,340,350,350,340,340,340,340,340
330 IF N < >3 THEN 350
340 GOSUB 430
350 GOSUB 110
360 NEXT I
370 FOR I = 1 TO E
380 X = INT( RND(1) *35)
390 Y = INT( RND(1) *20)
400 GOSUB 430
410 NEXT I
420 GOSUB 700: GOTO 250
430 XDRAW 2 AT FN PC(X), FN PC(Y)
440 P%(X,Y) = 1 -P%(X,Y)
450 D = -1: IF P%(X,Y) THEN D = 1
460 IF X = 0 OR X = 34 OR Y = 0 OR Y = 19 THEN 640
470 D%(X -1,Y -1) = D%(X -1,Y -1) +D
480 D%(X -1,Y) = D%(X -1,Y) +D
490 D%(X -1,Y +1) = D%(X -1,Y +1) +D
500 D%(X,Y -1) = D%(X,Y -1) +D
510 D%(X,Y) = D%(X,Y) +D
520 D%(X,Y +1) = D%(X,Y +1) +D
530 D%(X +1,Y -1) = D%(X +1,Y -1) +D
540 D%(X +1,Y) = D%(X +1,Y) +D
550 D%(X +1,Y +1) = D%(X +1,Y +1) +D
560 NM = NM +D
570 NC = NC +1
580 ND = ND +D
590 IF X XH THEN XH = X
620 IF Y >YH THEN YH = Y
630 RETURN
640 FOR X2 = X -1 TO X +1
650 FOR Y2 = Y -1 TO Y +1
660 X3 = FN NX(X2):Y3 = FN NY(Y2)
670 D%(X3,Y3) = D%(X3,Y3) +D
680 NEXT : NEXT
690 GOTO 560
700 CN = 0
710 XL = FN NX(XL -1):XH = FN NX(XH +1): IF XL > = XH THEN I = XL:XL = XH:XH = I: IF XL = 0 OR XH = 34 THEN XL = 0:XH = 34
720 YL = FN NY(YL -1):YH = FN NY(YH +1): IF YL > = YH THEN I = YL:YL = YH:YH = I: IF YL = 0 OR YH = 19 THEN YL = 0:YH = 19
730 IF XL = 0 THEN 750
740 FOR I = 0 TO XL -1:CN = CN +1:CL%(CN) = -1: NEXT
750 FOR X = XL TO XH: FOR Y = YL TO YH
760 IF NOT D%(X,Y) THEN 800
770 D = D%(X,Y)
780 CN = CN +1:D%(X,Y) = 0
790 CL%(CN) = Y:DL%(CN) = D
800 NEXT
810 CN = CN +1:CL%(CN) = -1
820 NEXT
830 XL = 34:XH = 0:YL = 19:YH = 0
840 RETURN
850 POKE 768,2: POKE 769,0: POKE 770,6: POKE 771,0:
860 POKE 772,35: POKE 773,0: POKE 774,8: POKE 775,8:
870 POKE 776,8: POKE 777,54: POKE 778,54: POKE 779,54:
880 POKE 780,39: POKE 781,36: POKE 782,36: POKE 783,60:
890 POKE 784,54: POKE 785,54: POKE 786,54: POKE 787,39:
900 POKE 788,36: POKE 789,36: POKE 790,60: POKE 791,54:
910 POKE 792,54: POKE 793,54: POKE 794,39: POKE 795,36:
920 POKE 796,36: POKE 797,60: POKE 798,54: POKE 799,54:
930 POKE 800,54: POKE 801,95: POKE 802,0: POKE 803,8:
940 POKE 804,8: POKE 805,200: POKE 806,59: POKE 807,247:
950 POKE 808,30: POKE 809,54: POKE 810,14: POKE 811,14:
960 POKE 812,45: POKE 813,12: POKE 814,12: POKE 815,36:
970 POKE 816,28: POKE 817,92: POKE 818,0:
980 POKE 232,0: POKE 233,3
990 HCOLOR= 3: SCALE= 1: ROT= 0
1000 RETURN
Text found in RIC_Programs_81.dsk/KONG.bas:
1 CALL 4352
Text found in RIC_Programs_81.dsk/LOGO.bas:
50 FLAG = 0
51 FT$(1) = ""
52 FT$(2) = "]SMALL STANDARD"
53 FT$(3) = "]WESTERN"
54 UL$ = "@"
55 ONERR GOTO 450
56 GOTO 170
90 T$ = "":LC = 0: FOR I = 1 TO LEN(A$):J = ASC( MID$ (A$,I,1)): IF J < >UL THEN T$ = T$ + CHR$(J +LC *(J >63 AND J <96)): NEXT :A$ = T$: GOTO 100
95 LC = LC +32 -64 *(LC = 32): NEXT :A$ = T$
99 REM PRINT ROUTINE:
100 POKE 232,L1(FT): POKE 233,L2(FT): IF LEN(FT3$) THEN PRINT D$;"BLOAD ";FT3$;",A";LOC(3):FT$(3) = FT3$:FT3$ = "": RETURN
105 X = 7 *HT -6:Y = 8 *VT -8: ROT= RT *16: IF CL <8 THEN BG = CL: HCOLOR= BG:CL = 8: HPLOT 0,0: CALL 62454:VT = 1:HT = 1:FT = 1: RETURN
110 IF CT THEN X = 0:YT = 176:XR = 0: HCOLOR= BG: FOR Z = 1 TO LEN(A$): DRAW ASC( MID$ (A$,Z,1)) -T1 AT X,YT: DRAW 99: CALL 62923:XR = XR + PEEK(224): NEXT :X = (280 -XR)/2
120 HCOLOR= HC: DRAW 100 AT X,Y: FOR Z = 1 TO LEN(A$): DRAW ASC( MID$ (A$,Z,1)) -T1: XDRAW 99: NEXT : CALL 62923:XO = X:X = PEEK(224) + PEEK(225) *TF:CT = 0:RT = 0:HT = (X +6)/7: IF NOT (IN) THEN RETURN
130 POKE 232,0: POKE 233,64:XR = X:YB = 8 * PEEK(LO(FT) +1):SC = XR -XO: IF SC <256 THEN SCALE= SC: ROT= 0: FOR I = Y -(Y >0) TO Y +YB: XDRAW 3 AT XO,I: NEXT : GOTO 150
140 SCALE= YB: ROT= 16: FOR I = X TO XR: XDRAW 3 AT I,Y: NEXT
150 ROT= 0: SCALE= 1:IN = 0: RETURN
170 SCALE= 1: ROT= 0:CL = 8: HCOLOR= 3:TF = 256:T1 = 31:TXT = 49235:FULL = 49234:HIRES = 49232:UL = ASC(UL$):G$ = CHR$(7):D$ = CHR$(13) + CHR$(4)
180 J = 768: FOR I = 1 TO 3:LOC(I) = PEEK(J) + PEEK(J +1) *256:L1(I) = PEEK(J):L2(I) = PEEK(J +1):J = J +2: NEXT : REM STORE.FONT.LOCATIONS
190 REM FONT LOAD ROUTINE:
200 IF FLAG >0 THEN 500
220 PRINT D$;"BLOAD CURSORS,A16384":LOC(1) = 16640: FOR I = 1 TO 3
230 IF LEN(FT$(I)) THEN PRINT D$;"BLOAD ";FT$(I);",A";LOC(I)
240 LOC(I +1) = LOC(I) + PEEK(43616) + PEEK(43617) *256: NEXT
250 J = 768: FOR I = 1 TO 3:X = LOC(I): POKE J,X - INT(X/256) *256:L1(I) = PEEK(J): POKE J +1, INT(X/256):L2(I) = PEEK(J +1):J = J +2: NEXT : GOTO 500
399 REM HT CALCULATOR:
400 TEXT : VTAB 24: PRINT :Q$ = CHR$(34): PRINT "CENTER FINDER": PRINT "-------------": PRINT "FONT: ";FT: PRINT "COPY: "Q$A$Q$:X = 0:YT = 176:XR = 0: HCOLOR= BG: PRINT : POKE 232, PEEK(766 +2 *FT): POKE 233, PEEK(767 +2 *FT)
405 IF NOT LEN(A$) OR (FT <1 OR FT >3) THEN PRINT CHR$(7);"SPECIFY FONT NUMBER (FT=#)": PRINT "AND COPY (A$="Q$"WORDS"Q$"),": PRINT "AND GOTO 400 AGAIN.": VTAB 11: PRINT "FOR EXAMPLE, TYPE:": PRINT : PRINT "FT=1:A$="Q$"TITLE"Q$":GOTO 400": END
410 FOR I = 1 TO LEN(A$): DRAW ASC( MID$ (A$,I,1)) -31 AT X,YT: DRAW 99: CALL 62923:XR = XR + PEEK(224): NEXT :X = (280 -XR)/2:HT = (X +6)/7: PRINT "FOR HTAB, LET HT="; INT(HT *10)/10: IF HT <1 THEN FLASH : VTAB 7: PRINT CHR$(7)" COPY TOO LONG ";: CALL -958
420 NORMAL : END
450 LINE = PEEK(218) + PEEK(219) *256:TYPE = PEEK(222): HOME : POKE TXT,0: VTAB 21: IF TYPE <255 THEN PRINT CHR$(7);"CODE-";TYPE;" ERROR IN LINE #";LINE: END
499 REM MAIN PROGRAM:
500 HC = 3:HT = 1:VT = 1:FT = 1:CT = 0:IN = 0:CL = 8:RT = 0:FT3$ = "": HGR : POKE FULL,0: REM STARTING DEFAULTS
514 HT = 14:VT = 4:FT = 3:A$ = "P": GOSUB 100
516 HT = 16:VT = 6:FT = 3:A$ = "M": GOSUB 100
518 HT = 18:VT = 8:FT = 3:A$ = "Enterprises": GOSUB 100
519 HT = 3:VT = 19:FT = 2:A$ = "Copying or Reproduction of any part of": GOSUB 100
520 CT = 1:VT = 20:FT = 2:A$ = "The Disk Management Program is Prohibited": GOSUB 100
530 HT = 3:VT = 21:FT = 2:A$ = "Copyright (c) 1983. P.M. Enterprises All": GOSUB 100
535 VT = 22:HT = 3:FT = 2:A$ = "Rights Reserved.": GOSUB 100
600 FOR CT = 1 TO 8000: NEXT CT: TEXT : HOME : PRINT CHR$(4);"RUN HELLO"
Text found in RIC_Programs_81.dsk/PRIME TESTER.bas:
5 HOME : CLEAR
10 INPUT "# TO BE FACTORED=";A
15 PRINT : PRINT "INTEGRAL FACTORS OF "A" ARE": PRINT
16 CX = INT( SQR(A)) +1
20 FOR X = 2 TO CX
22 ZZ = PEEK(49200)
25 Z = A/X
30 IF X = CX AND C = 0 THEN VTAB 3: PRINT "(";A;" IS A PRIME NUMBER) "
35 IF NOT (Z = INT(Z)) THEN 50
40 C = C +1: REM PRIME TESTER
45 IF NOT (X = A) THEN POKE 36,10 - LEN( STR$(Z)): PRINT Z;: POKE 36,12: PRINT "X";: POKE 36,14 + LEN( STR$( INT( SQR(A)))) - LEN( STR$(X)): PRINT X
50 NEXT X
55 PRINT : PRINT
60 PRINT "ANOTHER? (Y/N)"
65 GET Y$: IF NOT (Y$ = "Y" OR Y$ = "N") THEN 60
70 IF Y$ = "Y" THEN 5
75 PRINT : PRINT CHR$(4);"RUN HELLO"
80 REM FRED HALL
83 REM 16 SUNRISE TERRACE
85 REM PLAISTOW NH 03865
Text found in RIC_Programs_81.dsk/RAT MAZE.bas:
0 REM <- & -> TO TURN
1 REM (SPACE BAR) TO MOVE FWD.
2 REM (ESC) TO SEE TOP VIEW
100 PRINT "MAXFILES 1":ZZ = FRE(0)
200 TEXT : HOME : GOTO 6400
800 N = 2:A = H:B = V:FF = 2 ^(F -1)
900 HGR2 : HCOLOR= 3
1000 Z = M(A,B) *FF
1200 IF FN M(Z/16) = 0 THEN 1600
1300 RL = -1: GOSUB 5400
1400 GOTO 2000
1600 W = M(A +S,B -R) *FF
1700 IF FN M(W/128) = 0 THEN 2000
1800 RL = -1: GOSUB 4600
2000 IF FN M(Z/64) = 0 THEN 2400
2100 RL = 1: GOSUB 5400
2200 GOTO 2800
2400 W = M(A -S,B +R) *FF
2500 IF FN M(W/128) = 0 THEN 2800
2600 RL = 1: GOSUB 4600
2800 IF FN M(Z/128) = 1 THEN 3400
3000 N = N +1: IF N >8 THEN 3500
3100 A = A +R:B = B +S: IF B <2 THEN 3500
3200 GOTO 1000
3400 GOSUB 3800
3500 RETURN
3800 HPLOT VX +DX(N),YU(N)
3900 HPLOT TO VX +DX(N),YD(N)
4000 HPLOT TO VX -DX(N),YD(N)
4100 HPLOT TO VX -DX(N),YU(N)
4200 HPLOT TO VX +DX(N),YU(N)
4300 RETURN
4600 HPLOT VX +RL *DX(N -1),YU(N)
4700 HPLOT TO VX +RL *DX(N),YU(N)
4800 HPLOT TO VX +RL *DX(N),YD(N)
4900 HPLOT TO VX +RL *DX(N -1),YD(N)
5000 RETURN
5400 HPLOT VX +RL *DX(N -1),YU(N -1)
5500 HPLOT TO VX +RL *DX(N),YU(N)
5600 HPLOT TO VX +RL *DX(N),YD(N)
5700 HPLOT TO VX +RL *DX(N -1),YD(N -1)
5800 IF N >2 THEN HPLOT TO VX +RL *DX(N -1),YU(N -1)
5900 RETURN
6100 SS = -16336
6200 FOR II = 1 TO 8:JJ = PEEK(SS) + PEEK(SS) + PEEK(SS) + PEEK(SS) + PEEK(SS): NEXT II
6300 RETURN
6400 TEXT : VTAB 5: HTAB 17: PRINT "RATS!": PRINT : HTAB 4: PRINT "A DIFFERENT PERSPECTIVE ON MAZES."
6405 CH = 0
6410 PRINT : HTAB 1: PRINT "FROM THE COMPUSERVE APPLE USER'S GROUP"
6420 HTAB 9: PRINT "PUBLIC ACCESS DATABASE"
6425 VTAB 17: PRINT "----------------------------------------"
6430 VTAB 18: HTAB 9: PRINT "USE <- AND -> TO TURN"
6440 PRINT : HTAB 6: PRINT " TO MOVE FORWARD"
6450 PRINT : HTAB 3: PRINT " FOR A TOP VIEW (TO CHEAT)"
6500 DEF FN M(X) = INT(X) - INT( INT(X)/2) *2
6550 VTAB 14: PRINT "ENTER 0,0 TO QUIT"
6600 VTAB 15:FX = 36: INPUT "PLEASE ENTER MAZE SIZE (H,V) ";H,V
6650 IF H = 0 AND V = 0 THEN 24000
6700 H = INT(H):V = INT(V)
6800 IF H >2 AND H <31 AND V >2 AND V <31 THEN 7000
6900 PRINT "21 THEN I = INT( RND(1) *I) +1
10100 ON C(I) GOTO 10300,10800,11300,11800
10300 M(R,S) = M(R,S) - FN M(M(R,S))
10400 R = R -1
10500 M(R,S) = M(R,S) - FN M(M(R,S)/4) *4
10600 GOTO 13400
10800 M(R,S) = M(R,S) - FN M(M(R,S)/8) *8
10900 S = S -1
11000 M(R,S) = M(R,S) - FN M(M(R,S)/2) *2
11100 GOTO 13400
11300 M(R,S) = M(R,S) - FN M(M(R,S)/4) *4
11400 R = R +1
11500 M(R,S) = M(R,S) - FN M(M(R,S))
11600 GOTO 13400
11800 M(R,S) = M(R,S) - FN M(M(R,S)/2) *2
11900 S = S +1
12000 M(R,S) = M(R,S) - FN M(M(R,S)/8) *8
12100 GOTO 13400
12300 IF D = -1 THEN 12700
12400 IF R < >H THEN 13100
12500 IF S < >V THEN 13000
12600 R = 2:S = 2: GOTO 13200
12700 IF R < >2 THEN 13100
12800 IF S < >V THEN 13000
12900 R = H:S = 2: GOTO 13200
13000 S = S +1:D = -D: GOTO 13200
13100 R = R +D
13200 IF M(R,S) = 15 THEN 12300
13300 GOTO 9000
13400 NEXT IW
13500 MH = H:MV = V
13700 I = INT( RND(1) *(MH -1)) +2
13800 M(I,1) = 0
13900 M(I,2) = M(I,2) - FN M(M(I,2)/8) *8
14000 H = INT( RND(1) *(MH -1)) +2
14100 H1 = H:V1 = V
14200 GOSUB 6100
14300 FLASH : VTAB 23: HTAB 12: PRINT "MAZE COMPLETED.": NORMAL : GOSUB 6100
14400 GOTO 17000
14700 HZ = INT(MX/MH):VZ = INT(MY/MV)
14750 CH = CH +1
14800 HGR2 : HCOLOR= 3
14900 HPLOT 1 +HZ,1 +VZ
15000 HPLOT TO 1 +HZ,MV *VZ +1
15100 FOR J = 1 TO MV: FOR I = 2 TO MH
15200 N = M(I,J):X = I *HZ +1:Y = J *VZ +1
15300 IF FN M(N/2) = 0 THEN 15700
15500 HPLOT X,Y
15600 HPLOT TO X -HZ,Y
15700 IF FN M(N/4) = 0 THEN 16100
15900 HPLOT X,Y
16000 HPLOT TO X,Y -VZ
16100 NEXT I,J
16300 X = H *HZ -1:Y = V *VZ -1
16400 HPLOT X +1,Y +1
16500 HPLOT TO X -HZ +2,Y -VZ +2
16600 HPLOT X -HZ +2,Y +1
16700 HPLOT TO X +1,Y -VZ +2
16800 RETURN
17000 FOR X = 1 TO MH: FOR Y = 1 TO MV
17100 M(X,Y) = M(X,Y) +M(X,Y) *16
17200 NEXT Y,X
17500 F = INT( RND(1) *4) +1
17600 ON F GOTO 17700,17800,17900,18000
17700 R = 0:S = -1: GOTO 18100
17800 R = 1:S = 0: GOTO 18100
17900 R = 0:S = 1: GOTO 18100
18000 R = -1:S = 0
18100 GOSUB 800
18300 K = PEEK( -16384): POKE 16368,0: IF K <128 THEN 18300
18400 POKE -16368,0
18500 IF K = 136 THEN 19100
18600 IF K = 149 THEN 19400
18700 IF K = 160 THEN 20100
18800 IF K = 155 THEN 21300
18900 GOSUB 6100: GOTO 18300
19100 F = F -1: IF F <1 THEN F = 4
19200 GOTO 19500
19400 F = F +1: IF F >4 THEN F = 1
19500 ON F GOTO 19600,19700,19800,19900
19600 R = 0:S = -1: GOTO 21000
19700 R = 1:S = 0: GOTO 21000
19800 R = 0:S = 1: GOTO 21000
19900 R = -1:S = 0: GOTO 21000
20100 Z = M(H,V)
20200 T = Z *2 ^(F -1):T = FN M(T/128)
20300 IF T = 0 THEN 20600
20500 GOSUB 6100: GOTO 18300
20600 NM = NM +1: VTAB 22: HTAB 24: PRINT "MOVE "NM
20700 IF NM <400 THEN W(NM) = F
20800 H = H +R:V = V +S
20900 IF V <2 THEN 21500
21000 GOSUB 800
21100 GOTO 18300
21300 GOSUB 14700
21400 GOTO 18300
21500 HOME : VTAB 12: HTAB 5: PRINT "CONGRATS, IT TOOK YOU "NM" STEPS."
21540 IF CH = 1 THEN HTAB 8: PRINT "(BUT YOU CHEATED ONCE.)
21550 IF CH >1 THEN HTAB 6: PRINT " (BUT YOU CHEATED ";CH;" TIMES.)"
21600 GOSUB 6100: GOSUB 6100: GOSUB 6100
21700 V = V1:H = H1: GOSUB 14700
21900 X = INT(H *HZ -HZ/2) +1:Y = INT(V *VZ -VZ/2) +1
21950 HCOLOR= 6
22000 HPLOT X,Y
22100 FOR N = 1 TO NM
22200 IF N >400 THEN 22900
22300 F = W(N)
22400 IF F = 1 THEN V = V -1
22500 IF F = 2 THEN H = H +1
22600 IF F = 3 THEN V = V +1
22700 IF F = 4 THEN H = H -1
22800 HPLOT TO INT(H *HZ -HZ/2) +1, INT(V *VZ -VZ/2) +1
22900 NEXT N
23000 GET A$: CLEAR : GOTO 6400
24000 PRINT CHR$(4);"RUN HELLO"
50000 REM IMPROVED BY TM
- Addeddate
- 2014-11-11 02:05:58
- Emulator
- apple2e
- Emulator_ext
- dsk
- Identifier
- riag_011_RIC_Programs_81
- Scanner
- Internet Archive Python library 0.7.5