home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
enterprs
/
c128
/
games
/
recol.c64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1989-09-11
|
11KB
|
494 lines
100 REM *******************************
110 REM *******************************
120 REM **** ****
130 REM **** BY BRIAN A.MITCHELL ****
140 REM **** ****
150 REM **** BROCKVILLE, ONTARIO ****
160 REM **** ****
170 REM **** 613-342-0733 ****
180 REM **** ****
190 REM **** DEC 1983 ****
200 REM **** ****
210 REM **** TPUG# 2923 ****
220 REM **** ****
230 REM *******************************
240 REM *******************************
250 REM
260 FORL=54272TO54296:POKEL,0:NEXT:L=0
270 U=53280
280 POKEU,0:POKEU+1,0:POKE54296,15:PRINT"[152]"
290 GOSUB2730
300 PRINT"[147]"
310 PRINT" RECOL [146] INSTRUCTIONS (Y/N)"
320 GETAN$:IFAN$="N"THEN560
330 IFAN$<>"Y"THEN320
340 PRINT""
350 PRINT"THE COMPUTER WILL GIVE YOU A SEQUENCE OFNUMBERS, ONE AT A TIME";
360 PRINT" INCREASING BY ONEEACH TIME, UP TO THE SELECTED AMOUNT."
370 PRINT
380 PRINT"THE OBJECT IS TO REMEMBER EACH SEQUENCEOF NUMBERS AND ENTER THEM";
390 PRINT" EXACTLY ASTHEY WERE DISPLAYED."
400 PRINT
410 PRINT"THERE IS A THREE SECOND TIME LIMIT BETWEEN ENTERING NUMBERS."
420 PRINT
430 PRINT"LEVEL 5 PERMITS YOU TO CHOOSE THE NUMBERIN A SEQUENCE ";
440 PRINT"(FOR YOUNGER PLAYERS)."
450 GOSUB4990
460 PRINT"[147]"
470 PRINT
480 PRINT"LEVEL 6 FOR 2 TO 4 PLAYERS: EACH PLAYERIS RESPONSIBLE FOR ";
490 PRINT"ENTERING A SPECIFIC NUMBER 5,6,7 OR 8 IN THE CORRECT SEQUENCE"
500 PRINT"IF HE FAILS TO DO SO HE IS ELIMINATEDAND THE GAME CONTINUES";
510 PRINT" UNTIL THERE ISONLY ONE SURVIVOR."
520 PRINT"A GREAT GAME FOR BLUFFING YOUR OPPONENT."
530 PRINT
540 PRINT"THE INSTRUCTIONS WILL BECOME MORE CLEARAS YOU LEARN HOW TO PLAY!"
550 GOSUB4990
560 DIMC(100)
570 CC=1
580 NN=0:SC=0:A=0:SQ=7:S=0
590 S1=1:S2=1:S3=1:S4=1
600 GOSUB2360
610 IFO=6THENGOSUB4340:GOTO630
620 FORA=1TOC:C(A)=INT(5+(3+1)*RND(1)):NEXTA
630 PRINT"[147]"
640 GOSUB2230
650 FORA=1TOC-D
660 GOSUB1320
670 GETS$
680 IFS$<>""THENPRINT""TAB(9);"[158]WAIT TO ENTER SEQUENCE[152]":S$=""
690 NEXTA
700 FORER=1TO10
710 PRINT""TAB(9);" "
720 FORT=1TO10:NEXTT
730 PRINT""TAB(8);"[155]>>ENTER SEQUENCE NOW!<<[152]"
740 NEXTER
750 FORA=1TOC-D
760 FORTT=3500TO950STEP-50
770 GETS$
780 IFS$="5"THENS=5:GOTO830
790 IFS$="6"THENS=6:GOTO830
800 IFS$="7"THENS=7:GOTO830
810 IFS$="8"THENS=8:GOTO830
820 IFS$<>"5"THEN900
830 IFS=C(A)THENDL=1:GOTO1030
840 IFO=6ANDS=S1THEN900
850 IFO=6ANDS=S2THEN900
860 IFO=6ANDS=S3THEN900
870 IFO=6ANDS=S4THEN900
880 IFO=6ANDS<>C(A)THENGOSUB4840:GOSUB1810:GOTO1040
890 IFS<>C(A)THENDL=0:GOSUB1810:GOTO1100
900 PRINT"";TAB(15);" SECONDS [146]";INT(TT/1000);"[152]"
910 IFTT=2900ORTT=1900ORTT=950THENGOSUB2180
920 NEXTTT
930 PRINT"[147]"
940 FORI=1TO10
950 PRINT" "
960 GOSUB2180:XV=XV-1
970 PRINT" TOO LATE! [146]"
980 FORT=1TO50:NEXTT
990 NEXTI
1000 XV=0
1010 IFO=6THENS=C(A):GOSUB4840:GOSUB4340:GOTO1040
1020 GOTO1130
1030 GOSUB1320
1040 DL=0
1050 NEXTA
1060 SC=SC+1
1070 IFA<>CTHEND=D-1:GOTO630
1080 GOSUB1960
1090 GOTO600
1100 PRINT"[147][155]"
1110 PRINT" GAME OVER [146]"
1120 GOSUB4130
1130 PRINT""
1140 PRINTTAB(8)"THE CORRECT SEQUENCE WAS"
1150 PRINTTAB(8);"[197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][152]"
1160 GOSUB3380
1170 FORT=1TO250:NEXTT
1180 FORA=1TOC-D
1190 GOSUB1320
1200 NEXTA
1210 PRINT""
1220 PRINTTAB(6)" SCORE [146]";SC;"FOR";C-1;TAB(25)" LEVEL [146]";O;"[152]"
1230 PRINT
1240 PRINTTAB(4)" PRESS (E) EXIT (C) CONTINUE [146]"
1250 PRINTTAB(4)" [184][184][184][184][184] (R) REPEAT (S) SELECT [146]"
1260 GETA$:IFA$=""THEN1260
1270 IFA$="C"THENCC=CC+1:GOTO630
1280 IFA$="S"THEN570
1290 IFA$="E"THENEND
1300 IFA$="R"THEN1170
1310 IFA$<>"C"THEN1260
1320 IFC(A)=5THENC$="[156]":V=10:M=1
1330 IFC(A)=6THENC$="":V=15:M=11
1340 IFC(A)=7THENC$="":V=20:M=21
1350 IFC(A)=8THENC$="[158]":V=25:M=31
1360 PRINT""
1370 PRINTTAB(M)C$"[205] [206]"
1380 PRINTTAB(M)" [207][183][183][183][208] "
1390 PRINTTAB(M)" [155]<";C(A);"[157] >";C$;" "
1400 PRINTTAB(M)" [204][175][175][175][186] "
1410 PRINTTAB(M)"[206] [205]"
1420 GOSUB1750
1430 IFDL=1THEN1450
1440 FORT=1TO100:NEXTT
1450 PRINT""
1460 PRINTTAB(M)"[152] "
1470 PRINTTAB(M)" [205] [206] "
1480 PRINTTAB(M)" [146][155][171][219][179][152] "
1490 PRINTTAB(M)" [206] [205] "
1500 PRINTTAB(M)" [152]"
1510 IFDL=1THEN1530
1520 FORT=1TO150:NEXTT
1530 DL=0:T=0
1540 RETURN
1550 IFS=5THENM=1
1560 IFS=6THENM=11
1570 IFS=7THENM=21
1580 IFS=8THENM=31
1590 SP$=""
1600 TP$=TP$+SP$
1610 PRINT""+TP$
1620 PRINTTAB(M)"[221][221][221][221][221][221][221]"
1630 PRINTTAB(M)" [205] [206] "
1640 PRINTTAB(M)"[221] [214] [221]"
1650 PRINTTAB(M)" [206] [205] "
1660 PRINTTAB(M)" "
1670 PRINT""+TP$
1680 PRINTTAB(M)" ----- "
1690 PRINTTAB(M)" [205] [206] "
1700 PRINTTAB(M)" [214] "
1710 PRINTTAB(M)" [206] [205] "
1720 PRINTTAB(M)" ----- [152]"
1730 DL=0:T=0
1740 RETURN
1750 POKE54273,4+V:POKE54272,73:POKE54276,33
1760 POKE54277,128:POKE54278,17
1770 FORZ=1TO50:NEXTZ
1780 POKE54276,0
1790 NH=0:V=0:POKE54273,0:POKE54272,0
1800 RETURN
1810 REM-L EFFECT
1820 PRINT"";TAB(15)" "
1830 PRINT"";TAB(6)" "
1840 FORK=100TO20STEP-10
1850 PRINT""TAB(8)" "
1860 POKE54276,17:POKE54277,40:POKE54278,136
1870 POKE54273,K:POKE54272,250-K
1880 GOSUB1550
1890 IFO<>6THENPRINT""TAB(12)"[155][214][214][214][214] ERROR [214][214][214][214][152]"
1900 NEXTK
1910 POKE54276,0
1920 POKE54273,0:TP$=""
1930 FORT=1TO450:NEXTT
1940 IFO=6THENGOSUB4340:DL=0
1950 RETURN
1960 REM W-EFFECT
1970 FORG=0TO34
1980 PRINT"";TAB(5);" "
1990 DL=1:V=G+25
2000 GOSUB3550
2010 PRINT"";TAB(5);"++++++ CONGRATULATIONS ++++++[152]"
2020 GOSUB3110
2030 NEXTG
2040 POKE54276,0
2050 CV=23
2060 FORNT=1TO3
2070 IFNT=1THENNT$=">> WON! >>>>>>>>"
2080 IFNT=2THENNT$=">> HAVE"
2090 IFNT=3THENNT$=">>>> YOU "
2100 CV=CV-5
2110 FORGR=0TOCV
2120 V=V+3:GOSUB3110
2130 PRINT""
2140 PRINTTAB(GR)"[158]";NT$;""
2150 NEXTGR:NEXTNT:POKE54276,0
2160 FORZ=1TO1800:NEXTZ
2170 RETURN
2180 POKE54287,8:POKE54291,9:POKE54287,29+XV:POKE54292,128
2190 POKE54290,17
2200 FORZ=1TO70:NEXTZ
2210 POKE54290,0
2220 RETURN
2230 PRINT"[152] SEQUENCE";C-D;"[157] OF";KR;"[157] [146]";TAB(29);"[158] LEVEL [146]";O
2240 PRINT"";TAB(3)"[152]- TRY #";CC;"-"
2250 IFC-D>1THENGOSUB3380:GOTO2270
2260 GOSUB3150
2270 PRINT""
2280 IFC-D=KRTHENGOSUB4000
2290 IFC-D>1THENPRINT"";TAB(11)">>>>>>[146]WAIT!<<<<<<[146][152]":GOTO2340
2300 PRINTTAB(11)" PRESS SPACE BAR [146]"
2310 GETN$:IFN$=""THEN2310
2320 IFN$=CHR$(32)THENPRINTTAB(11)"[145] "
2330 IFN$<>CHR$(32)THEN2310
2340 FORT=1TO200:NEXTT
2350 RETURN
2360 PRINT"[147]"
2370 W=W+1
2380 PRINTTAB(17)"[158]RECOL"
2390 PRINTTAB(17)"[155][192][192][192][192][192][152]"
2400 PRINT" SELECT LEVEL [146]"
2410 PRINT
2420 PRINTTAB(11)" LEVEL [146] SEQUENCE [146]"
2430 GOSUB4220
2440 FORG=1TO5
2450 CL$="[152]":NT$="[214]"
2460 IFM(G)=1THENCL$="[158]":NT$=M$(G)
2470 PRINT
2480 PRINTTAB(12)CL$;"(";G;")";" --- ";S(G);TAB(26);"[";NT$;"]"
2490 NEXTG
2500 PRINT
2510 PRINTTAB(12)"[159]( 6 ) --- 2 TO 4 PLAYERS "
2520 IFW=1THENGOSUB3770
2530 PRINT:PRINT"[155] SELECT FROM 1 TO 6 [146]"
2540 GETO$:IFO$=""THEN2540
2550 CC=1
2560 IFO$="1"THENO=1:C=8:D=7:KR=7:GOTO2630
2570 IFO$="2"THENO=2:C=12:D=11:KR=11:GOTO2630
2580 IFO$="3"THENO=3:C=17:D=16:KR=16:GOTO2630
2590 IFO$="4"THENO=4:C=22:D=21:KR=21:GOTO2630
2600 IFO$="5"THENO=5:GOSUB2650:GOTO2630
2610 IFO$="6"THENO=6:GOSUB4480
2620 IFO$<>"6"THEN2540
2630 SC=0
2640 RETURN
2650 PRINT:
2660 PRINT"[155][161](2 TO 35) SEQUENCE =";SQ
2670 PRINT
2680 INPUT"[161]CHANGE (AND[206]OR) PRESS RETURN [146]";SQ
2690 IFSQ>35ORSQ<2THENPRINT"[145][145]":SQ=1:GOTO2680
2700 C=SQ+1:D=SQ:KR=SQ
2710 IFSQ<1THENO=1
2720 RETURN
2730 PRINT"[147]"
2740 FORDP=1TO4
2750 PRINT""
2760 DL=1
2770 GOSUB3690
2780 PRINTTAB(M)C$"[192][192][192][192][192][192][192]"
2790 PRINTTAB(M)" RECOL "
2800 PRINTTAB(M)"[192][192][192][192][192][192][192]"
2810 GOSUB1750
2820 NEXTDP
2830 FORDP=4TO1STEP-1
2840 PRINT""
2850 GOSUB3690
2860 PRINTTAB(M)C$"[192][192][192][192][192][192][192]"
2870 PRINTTAB(M)" RECOL "
2880 PRINTTAB(M)"[192][192][192][192][192][192][192]"
2890 GOSUB1750
2900 NEXTDP
2910 FORDP=1TO4
2920 PRINT""
2930 GOSUB3690
2940 PRINTTAB(M)C$"[192][192][192][192][192][192][192]"
2950 PRINTTAB(M)" RECOL "
2960 PRINTTAB(M)"[192][192][192][192][192][192][192]"
2970 GOSUB1750
2980 NEXTDP
2990 FORDP=1TO4
3000 PRINT""
3010 GOSUB3690
3020 PRINTTAB(M)C$"[192][192][192][192][192][192][192]"
3030 PRINTTAB(M)" RECOL "
3040 PRINTTAB(M)"[192][192][192][192][192][192][192]"
3050 GOSUB1750
3060 NEXTDP
3070 PRINT
3080 PRINTTAB(21)"[155]BY-BRIAN MITCHELL"
3090 FORT=1TO1400:NEXTT
3100 RETURN
3110 POKE54276,17:POKE54277,130:POKE54278,136
3120 POKE54275,50:POKE54274,200
3130 POKE54273,2+V:POKE54272,6+V
3140 RETURN
3150 REM BACKDROP DISPLAY 1
3160 FORLN=1TO38
3170 PRINT""
3180 PRINTTAB(LN)"[221]"
3190 XV=XV+1
3200 GOSUB3740
3210 NEXTLN
3220 POKE54290,0
3230 FORF=30TO0STEP-10
3240 FORL=0TOF
3250 PRINT""
3260 PRINTTAB(L)" [152] "
3270 PRINTTAB(L)" [205] [206] "
3280 PRINTTAB(L)"[221] [146][155][171][219][179][152] [146][221]"
3290 PRINTTAB(L)" [206] [205] "
3300 PRINTTAB(L)" [152]"
3310 NEXTL
3320 XV=-15:GOSUB2180
3330 NEXTF
3340 FORT=1TO300:NEXTT
3350 XV=0
3360 IFO=6THENGOSUB3380
3370 RETURN
3380 FORM=0TO30STEP10
3390 CN$="[152]"
3400 IFO=6ANDV1=1ANDM=0THENCN$=""
3410 IFO=6ANDV2=1ANDM=10THENCN$=""
3420 IFO=6ANDV3=1ANDM=20THENCN$=""
3430 IFO=6ANDV4=1ANDM=30THENCN$=""
3440 A$="[221]"
3450 IFM=30THENA$=""
3460 PRINT""
3470 PRINTTAB(M);CN$" "
3480 PRINTTAB(M)" [205] [206] "
3490 PRINTTAB(M)"[221] [146][155][171][219][179]";CN$;" [146][152][221]";A$
3500 PRINTTAB(M);CN$" [206] [205] "
3510 PRINTTAB(M)" [152]"
3520 NEXTM
3530 FORT=1TO50:NEXTT:M=0
3540 RETURN
3550 REM W-EFFECT
3560 PRINT""
3570 PRINTTAB(G)"[155] [205][209][206]"
3580 PRINTTAB(G)"[150]>[155] [214] "
3590 PRINTTAB(G)" [205][205]"
3600 PRINT""
3610 PRINTTAB(G)" "
3620 PRINTTAB(G)"> "
3630 PRINTTAB(G)" "
3640 PRINT""
3650 PRINTTAB(G)" [209] "
3660 PRINTTAB(G)"[158]>[155] [206][214][205]"
3670 PRINTTAB(G)" [206][206] "
3680 RETURN
3690 IFDP=1THENM=1:V=10:C$="[156]"
3700 IFDP=2THENM=11:V=15:C$="[153]"
3710 IFDP=3THENM=21:V=20:C$="[154]"
3720 IFDP=4THENM=31:V=25:C$="[158]"
3730 RETURN
3740 POKE54287,2:POKE54291,74:POKE54287,39+XV:POKE54292,128
3750 POKE54290,129
3760 RETURN
3770 RESTORE
3780 POKE54275,145:POKE54278,194:POKE54296,10
3790 READHF,LF,DR
3800 IFHF<0THENPOKE54276,0:POKE54296,15:GOTO3990
3810 POKE54273,HF:POKE54272,LF
3820 POKE54276,65
3830 FORT=1TODR/2:NEXT
3840 POKE54276,33:FORT=1TO15:NEXT
3850 GOTO3790
3860 DATA19,63,400
3870 DATA28,214,200,22,227,100
3880 DATA28,214,100,22,227,100
3890 DATA28,214,100,22,227,325
3900 DATA21,154,100,18,42,110
3910 DATA21,154,100,18,42,100
3920 DATA21,154,100,18,42,375
3930 DATA16,47,250,18,43,100
3940 DATA19,63,75,21,154,100
3950 DATA24,63,300,24,63,350
3960 DATA19,63,300,14,107,350
3970 DATA19,63,100,14,107,100
3980 DATA19,63,400,-1,-1,-1
3990 RETURN
4000 FORDS=1TO6
4010 PRINT""
4020 PRINTTAB(6)"[215] [215]"
4030 V=5:GOSUB1750
4040 PRINTTAB(6)"[145][155]- LAST NUMBER IN SEQUENCE -[152]"
4050 V=5:GOSUB1750
4060 NEXTDS
4070 PRINT"[145][145]"
4080 FORV=1TO39
4090 PRINT" ";
4100 FORT=1TO50:NEXTT
4110 NEXTV
4120 RETURN
4130 FORDS=0TO11
4140 PRINT""
4150 PRINTTAB(12)" ---- "
4160 DL=1:V=11+DS:GOSUB1750
4170 PRINTTAB(12)"[145] TILT [146]"
4180 DL=1:V=11-DS:GOSUB1750
4190 NEXTDS
4200 DL=0
4210 RETURN
4220 IFCC=1ANDO=1ANDSC=7THENM(1)=1:W=1:M$(1)="[216]"
4230 IFCC=1ANDO=1ANDSC<7THENM(1)=0:W=2
4240 IFCC=1ANDO=2ANDSC=11THENM(2)=1:W=1:M$(2)="[193]"
4250 IFCC=1ANDO=2ANDSC<11THENM(2)=0:W=2
4260 IFCC=1ANDO=3ANDSC=16THENM(3)=1:W=1:M$(3)="[218]"
4270 IFCC=1ANDO=3ANDSC<16THENM(3)=0:W=2
4280 IFCC=1ANDO=4ANDSC=21THENM(4)=1:W=1:M$(4)="[211]"
4290 IFCC=1ANDO=4ANDSC<21THENM(4)=0:W=2
4300 IFCC=1ANDO=5ANDSC=SQTHENM(5)=1:W=1:M$(5)="*"
4310 IFCC=1ANDO=5ANDSC<SQTHENM(5)=0:W=2
4320 S(1)=7:S(2)=11:S(3)=16:S(4)=21:S(5)=SQ
4330 RETURN
4340 IFS=5THENS1=5:V1=1
4350 IFS=6THENS2=6:V2=1
4360 IFS=7THENS3=7:V3=1
4370 IFS=8THENS4=8:V4=1
4380 IFV1=1ANDV2=1ANDV3=1THENW=4:GOTO4900
4390 IFV2=1ANDV3=1ANDV4=1THENW=1:GOTO4900
4400 IFV3=1ANDV4=1ANDV1=1THENW=2:GOTO4900
4410 IFV4=1ANDV1=1ANDV2=1THENW=3:GOTO4900
4420 FORA=1TOC
4430 C(A)=INT(5+(3+1)*RND(1))
4440 IFC(A)=S1ORC(A)=S2ORC(A)=S3ORC(A)=S4THEN4430
4450 NEXTA
4460 D=35
4470 RETURN
4480 PRINT"[147]"
4490 PRINT" ----------- [146]"
4500 PRINT" ELIMINATION [146]"
4510 PRINT" ----------- [146]"
4520 PRINT
4530 INPUT"ENTER # OF PLAYERS";NO
4540 PRINT
4550 IFNO<2ORNO>4THENPRINT" LEVEL 6 [146] -TWO TO FOUR PLAYERS":PRINT:GOTO4530
4560 PRINT
4570 IFNO=3THEN4640
4580 IFNO=4THEN4710
4590 PRINT" [155]PLAYER 1 - COL 5 PURPLE [156] "
4600 PRINT"[155]"
4610 PRINT" PLAYER 2 - COL 8 YELLOW [158] "
4620 S2=6:S3=7:V2=1:V3=1
4630 GOTO4780
4640 PRINT" PLAYER 1 - COL 5 PURPLE [156] "
4650 PRINT"[155]"
4660 PRINT" PLAYER 2 - COL 6 GREEN "
4670 PRINT"[155]"
4680 PRINT" PLAYER 3 - COL 8 YELLOW [158] "
4690 S3=7:V3=1
4700 GOTO4780
4710 PRINT" PLAYER 1 - COL 5 PURPLE [156] "
4720 PRINT"[155]"
4730 PRINT" PLAYER 2 - COL 6 GREEN "
4740 PRINT"[155]"
4750 PRINT" PLAYER 3 - COL 7 BLUE "
4760 PRINT"[155]"
4770 PRINT" PL@YER 4 - COL 8 YELLOW [158] "
4780 C=36:D=35:KR=35:S=0
4790 PRINT""
4800 PRINTTAB(11)"[155] PRESS SPACE BAR [146]"
4810 GETA$:IFA$<>CHR$(32)THEN4810
4820 PRINTTAB(10)"[145][192]ONE MOMENT PLEASE[192]"
4830 RETURN
4840 IFS=5THENPN=1
4850 IFS=6THENPN=2
4860 IFS=7THENPN=3
4870 IFS=8THENPN=4
4880 PRINT"[155]"TAB(9)"---PLAYER";PN;"IS OUT---[152]"
4890 RETURN
4900 PRINT"[147]"
4910 PRINT""
4920 PRINT" [158] SURVIVOR [146][155] PLAYER";W
4930 GOSUB3380:GOSUB1960
4940 S=0:S1=0:S2=0:S3=0:S4=0
4950 V1=0:V2=0:V3=0:V4=0:CC=CC+1
4960 JB=JB+1
4970 IFJB=2THENRUN
4980 GOTO580
4990 PRINT""
5000 PRINTTAB(11)" PRESS SPACE BAR "
5010 GETAN$:IFAN$<>CHR$(32)THEN5010
5020 RETURN