home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Arcade
/
BULLSEYE
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
8KB
|
162 lines
1 REM BULLSEYE - BY T. BRANTNER MODIFIED WITH 'ZAPP HUSSEIN' .
3 REM ERRORS CORRECTED AND OPTION FOR PLAY MADE.... 3/93 BY JIM GREEN .
30 POKE53280,11:POKE53281,11:PRINT"[147] BULL'S EYE OR ZAPP HUSSEIN
35 [153]"SYS WHICH VERSION: 1) BULL'S EYE
40 PRINT" 2) ZAPP HUSSEIN
45 [161]G$:[139]G$[179][177]"1"[175]G$[179][177]"2"[167]45
50 [139]G$[178]"2"[167]HS[178]2
55 [153]" DEFNEED INSTRUCTIONS Y/N
60 GETG$:IFG$<>"Y"ANDG$<>"N"THEN60
65 IFG$="N"THEN200
70 POKE53280,15:POKE53281,15:PRINT"[147]"
75 PRINT" [149][188] [146][208][165] [146] [161] [146] [146] [203] [146][183] [146][183] [167][146][170][161] [146][183]"
80 PRINT" [146][183][161] [146] [161] [146] [146] [183][208][161][190] [146][183] [183][208][161] [146][183]"
85 PRINT" [129][188][162][162][146][190][162][162][146][190][162][162][146][190][162][162][146][190][162][162][146][190] [162][162][146][190][162][162][146][190][162][162][146][190]"
90 PRINT"[151] A PROGRAM FOR TWO OR ONE CAN PLAY
95 [153]"TAKING BOTH TURNS. USE JOYSTICK IN PORT
100 PRINT" TWO TO MOVE THE DART OR MISSILE.
105 [153]" PRESS FIRE BUTTON TO FIRE.
110 PRINT" THERE ARE 2 VERSIONS... BULL'S EYE OR
115 [153]" ZAPP HUSSEIN. BOTH ARE SECTIONED OFF
120 PRINT" LIKE A PIE, WITH 12 SLICES, 1-12, YOU
125 [153]" ARE SCORED BY WHICH # YOU LAND ON. THE
130 PRINT" STARTING SCORE IS 300 AND EACH HIT IS
135 [153]" DEDUCTED FROM IT. PRESS <SPACE>":[146]197,7
140 [153]"LOAD THE CENTER IS WORTH 50 (A RED SQUARE
145 PRINT" ON BULL'S EYE AND HOUSEIN'S NOSE).
150 [153]" JUST AROUND THE CENTER IS WORTH 25.
155 PRINT"CERTAIN OTHER AREA'S HAVE OTHER VALUES.
160 [153]" EACH PLAYERS HAS THREE THROWS, THE
165 PRINT" VALUE FOR EACH IS LISTED AND DEDUCTED
170 [153]"FROM THE FORMER SCORE. THE FIRST PLAYER
175 PRINT"TO REACH ZERO IS THE WINNER..... BUT IF
180 [153]"A THROW IS MORE THAN THE SCORE, YOU GET
185 PRINT"A 'BROKE' NOTICE AND THE SCORE STAYS THE
190 [153]"SAME, TO WIN THE SCORE MUST EQUAL ZERO.
195 PRINT" PRESS <SPACE> TO PLAY":WAIT197,7
200 ZQ=700:FORJP=ZQTO715:READW:POKEJP,W:NEXT
205 DATA 32,155,183,138,72,32,155,183,104,170,164,101,24,76,240,255
210 POKE53280,0:POKE53281,0:PRINTCHR$(142)"[147]"
215 FORA=832TO1022:READZ:POKEA,Z:NEXT
220 FORA=49152TO49259:READZ:POKEA,Z:NEXT
225 DIMSE%(13,18),QT(3,14),SC(1)
230 FORA=0TO13:FORZ=0TO18:READSE%(A,Z):NEXT:NEXT
235 FORA=0TO3:FORZ=0TO3:READQT(A,Z):QT(A,4+Z)=QT(A,Z)*2:QT(A,8+Z)=QT(A,Z)*3
240 NEXT:QT(A,12)=25:QT(A,13)=50:NEXT
245 TC=646:SP=2040:V=53248:S1=54272:J2=56320:A=RND(-TI)
250 POKEV+16,0:POKEV+28,7:POKEV+37,11:POKEV+38,12
255 SC(0)=300:SC(1)=300
260 PL=0:POKEV+21,0:POKE53265,11:GOSUB410:POKE53265,27
265 DN=2:CS=SC(PL):POKEV+1,0:POKEV+3,0:POKEV+5,0:POKEV+21,7
270 CY=4:IFPLTHENCX=3:GOSUB400:PRINT" [157][157][157] "
275 POKETC,6+PL*7:CX=3+PL*31:GOSUB400:PRINT"[161][194][187][157][157][157][188][194][162]"
280 GOSUB335:CY=13-DN:CX=3+PL*31:A=PV:GOSUB395:CS=CS-PV
285 CY=15:IFCS<0THENCX=2+PL*31:GOSUB400:PRINT"BROKE":GOTO305
290 CX=3+PL*31:A=CS:GOSUB395:IFCS=0THEN315
295 DN=DN-1:IFDN>-1THEN280
300 SC(PL)=CS
305 FORAD=1TO1500:NEXT:PL=PL+1:IFPL<2THEN265
310 GOTO260
315 CY=23:CX=11:GOSUB400:POKETC,(PEEK(TC)AND7)+1
320 PRINT"WINNER: PLAYER "MID$("ONETWO",1+PL*3,3)
325 PRINTTAB(8)"PRESS FIRE TO PLAY AGAIN";:IFPEEK(J2)AND16THEN315
330 GOTO255
335 POKESP+DN,13:POKEV+39+DN,6+PL*7
340 POKE2,173:POKE3,141:POKE4,RND(1)*2:POKE5,RND(1)*2:POKE6,DN
345 SYS49152:XP=PEEK(2):YP=PEEK(3)
350 GOSUB405:POKES1+5,153:POKES1+4,16:POKES1+4,17
355 FORA=0TO23:POKESP+DN,13+A/11:POKEV+1+DN*2,YP-A:POKES1+1,140-A
360 FORZ=1TO10:NEXT:NEXT
365 GOSUB405:POKES1+5,3:POKES1+1,10:POKES1+4,16:POKES1+4,17:YP=YP-23
370 PV=0:X%=(XP-98)/4:Y%=(YP-85)/4
375 IFX%<0ORX%>37ORY%<0ORY%>27THENRETURN
380 A=0:IFX%>18THENA=1:X%=37-X%
385 IFY%>13THENA=A+2:Y%=27-Y%
390 Z=SE%(Y%,X%):PV=QT(A,Z):RETURN
395 GOSUB400:PRINT""RIGHT$(" "+STR$(A),3):RETURN
400 SYSZQ,CY,CX :RETURN
405 FORA=S1TOS1+23:POKEA,0:NEXT:POKES1+24,15:RETURN
410 IFHS=2THENGOSUB650:GOTO530
415 PRINT"[147] [188] [146][208][165] [146] [161] [146] [146] [203] [146][183] [146][183] [167][146][170][161] [146][183]"
420 PRINT"[147] [188] [146][208][165] [146] [161] [146] [146] [203] [146][183] [146][183] [167][146][170][161] [146][183]"
425 PRINT" [129] [146][183][161] [146] [161] [146] [146] [183][208][161][190] [146][183] [183][208][161] [146][183]"
430 PRINT" [158][188][162][162][146][190][162][162][146][190][162][162][146][190][162][162][146][190][162][162][146][190] [162][162][146][190][162][162][146][190][162][162][146][190]"
435 PRINT" [155][182] [175][175][175][175] [146][181]"
440 PRINT" [182] [172][162][146] 12 [155][162][187] [146][181]"
445 PRINT" [182] [172][146][190]1 [158][162][162][162][162][162][162] 8[155][188][187] [146][181]"
450 PRINT" [182] [146][190] [153][162][162][146][187] [172][153][162][146][162] [155][188] [146][181]"
455 PRINT" [182][184][184][184][184][184][194] [146][190] [158][162][153][162][146][162] [188][146] [190] [146][162][153][162][158][146][162] [155][188] [194][146][184][184][184][184][184][181]"
460 PRINT" [182] ONE [155][194] [146][190]5 [158][190][146][190][162] [162][158][146][172][162][162][187][162] [162][158][146][188][188][146] 4[155][161] [194][146] TWO [155][181]"
465 PRINT" [182][198][198][198][198][198][194][172][146] [158][161][146][165] [188][172][190][146][161] [161][188][146][187][190] [158][167][161] [155] [194][146][198][198][198][198][198][181]"
470 PRINT" [182] [194][146][190] [158][170][146] [172][172][146] [187] [146] [172][146] [158][187][146][187] [180][146] [155][161][194][146] [181]"
475 PRINT" [182] [194][146] [153][161][165] [188][146][172][162] [188][190][188][190] [162][187][190] [167][153][146][161] [155][194][146] [181]"
480 PRINT " [182] [194][146]11[153][161][165] [161] [146][161][161][146][161][161] [146][161] [167][153][146][161]9 [155][194][146] [181]"
485 PRINT" [182] [194][146] [153][161][165] [172][146][188][162][146] [172][187][172][187] [162][146][190][187] [167][153][146][161] [155][194][146] [181]"
490 PRINT" [182][197][197][197][197][197][194][146][187] [158][170][146] [188][188][146] [190] [146] [188][146] [158][190][146][190] [180][146] [155][172][194][146][197][197][197][197][197][181]"
495 PRINT" [182] [194][188][146] [158][161][146][165] [172][188][187][146][161] [161][172][146][190][187] [158][167][161] [155][190][194][146] [181]"
500 PRINT" [182][185][185][185][185][185][194] [146][187]2 [158][187][146][187][162] [146][162][158][188][162][162][146][190][162] [146][162][158][172][172][146] 7[155][172] [194][146][185][185][185][185][185][181]"
505 PRINT" [182] [146][187] [158][162][153][146][162][162] [172][146] [187] [162][153][146][162][158][162][146] [155][172] [146][181]"
510 PRINT" [182] [146][187] [153][162][146][162][190] [188][153][162][162][146] [155][172] [146][181]"
515 PRINT" [182] [188][146][187]6 [158][162][162][162][162][162][162][146] 3[155][172][190] [146][181]"
520 PRINT" [182] [188][146][162] 10 [155][162][190] [146][181]"
525 PRINT" [182] [183][183][183][183] [146][181]"
530 CY=10:CX=3:A=SC(0):GOSUB395:CX=34:A=SC(1):GOTO395
535 DATA0,48,0,0,48,0,0,48,0,0,48,0,0,252,0,0,236,0,0,116,0,0,236,0,0,116
540 DATA0,0,236,0,0,116,0,0,252,0,3,187,0,14,186,192,58,186,176,58,186
545 DATA176,58,186,176,14,254,192,3,51,0,0,48,0,0,48,0,0,0,0,0,0,0,0,0,0
550 DATA 0,0,0,0,0,48,0,0,48,0,0,252,0,0,236,0,0,116,0,0,116,0,3,187,0,14
555 DATA186,192,58,186,176,10,254,128,0,48,0,0,48,0,0,48,0,0,48,0,0,0,0,0
560 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,48,0,0,48,0,0,48,0,0
565 DATA184,0,63,255,240,0,184,0,0,48,0,0,48,0,0,48,0,0,48,0,0,0,0,0,0,0
570 DATA0,0,0,0,0,0,0,0,0,0,0,0,165,6,10,168,165,2,153,0,208,165,3,153,1
575 DATA208,173,0,220,170,41,16,208,1,96,138,74,74,41,3,168,136,192,2,144
580 DATA2,164,4,24,165,2,121,106,192,201,91,176,7,152,73,1,168,76,55,192
585 DATA133,2,132,4,138,41,3,168,136,192,2,144,2,164,5,24,165,3,121,106
590 DATA192,201,97,144,4,201,230,144,7,152,73,1,168,76,91,192,133,3,132,5
595 DATA162,8,160,0,200,208,253,202,208,250,76,0,192,1,255,14,14,14,14,14
600 DATA14,14,14,14,14,14,14,14,4,4,4,4,4,4,14,14,14,14,14,14,14,14,14,14
605 DATA14,5,5,0,0,0,0,0,0,14,14,14,14,14,14,14,14,14,5,5,1,1,1,0,0,0,0,0
610 DATA14,14,14,14,14,14,14,5,5,1,1,1,1,1,0,0,0,0,0,14,14,14,14,14,6,6,1
615 DATA1,1,1,1,1,1,1,0,0,0,0,14,14,14,14,6,6,2,1,1,1,1,1,1,1,1,0,0,0,0
620 DATA14,14,14,6,6,2,2,2,2,1,1,1,1,9,9,9,8,8,8,14,14,6,2,2,2,2,2,2,2,1
625 DATA9,9,9,1,1,0,0,0,14,14,6,2,2,2,2,2,2,2,2,9,1,1,1,1,0,0,0,14,6,2,2
630 DATA2,2,2,2,2,10,10,2,2,1,1,1,1,0,0,14,6,2,2,2,2,2,2,10,10,2,2,2,2,1
635 DATA1,1,0,0,7,3,3,3,3,3,2,2,10,2,2,2,2,2,2,2,1,1,0,7,3,3,3,3,3,3,11,3
640 DATA3,3,2,2,2,2,2,2,12,12,7,3,3,3,3,3,3,11,3,3,3,3,3,3,3,3,12,12,13
645 DATA12,1,5,11,12,8,4,9,10,6,2,11,10,3,7,9
650 PRINT"[147] [158][172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]
655 [153]" SYSGETFORORLENLENLENDEFLEN ZAPP HUSSEI";
660 [153]"N LENFORLENLENLEN^SYSWAITGET LOGNEWNEW";
665 [153]"NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAITCOS ";
670 [153]" LISTABS ANDAND";
675 [153]"ANDAND WAITINT ";
680 [153]" ABS *NEWWAIT 12 LISTNEWRND ";
685 [153]" WAITINT ABS *WAITCOS1";
690 [153]" LISTANDASCANDASCANDAND 8LISTLOGRND WAITINT ";
695 [153]" ABS WAITCOS POSASCSTR$ SIN";
700 [153]" LOG WAITINT ABSFREFREFREFREFREPEEK ";
705 [153]"WAITCOS POKESINWAIT LISTSIN LOG PEEKWAITFREFRE";
710 [153]"FREFREFREINT ABS ONE LISTPEEK WAITCOS5 POKESINWAIT ANDPOSNEWNEW";
715 [153]"PRINT#NEWPOSPOSAND FN 4LISTGET PEEKWAIT TWO LISTINT ABSASCASCASC";
720 [153]"ASCASCPEEK*WAIT POKEFN**WAITUSRUSR RNDPRINT#*WAIT USRUSRRNDWAITTHEN ";
725 [153]" LIST PEEKWAITASCASCASCASCASCINT ABS PEEKWAITCOS POKESIN ";
730 [153]" **RNDPOKELEFT$PRINT# *RNDPRINT#RND WAITSQRSIN LISTGETPEEKWAIT INT ";
735 [153]" ABS PEEKWAIT POKEGET USRVALSTR$CHR$LIST PRINT#STR$VAL ";
740 [153]" GETWAIT LISTPEEKWAIT INT ABS PEEKWAIT11";
745 [153]" POKESIN AND (null)LIST(null)PRINT# AND SINWAIT 9 LISTPEEKWAIT ";
750 [153]" INT ABS PEEKWAIT POKEABS (null) WAITFREUSR";
755 [153]"PRINT#USRFRE (null) WAITINT LISTPEEKWAIT INT ABSVALVALVAL";
760 [153]"VALVALPEEKWAITRND POKETHEN THEN*WAIT PRINT#RNDFN WAITFN ";
765 [153]" LIST*PEEKWAITVALVALVALVALVALINT ABS PEEKLOGWAIT POKE(null)";
770 [153]" WAIT ASCASCPRINT#ASCASC WAIT WAITSTEP LISTCOSPEEKWAIT INT ";
775 [153]" ABSPOSPOSPOSPOSPOSPEEK WAITRND2 POKE(null) PRINT# WAITSTEP";
780 [153]"WAIT 7LIST* PEEKWAITPOSPOSPOSPOSPOSINT ABS ";
785 [153]"WAITRND POKETAB(VALSTR$LENPRINT#STR$VALTAB(WAIT LIST* WAITINT ";
790 [153]" ABS WAITRND FRE LOGPOKERND ";
795 [153]" PRINT# *LISTCOS USRFREWAIT * WAITINT ";
800 [153]" ABS LOGWAITRND6 3LIST*COS ";
805 [153]" WAITINT ABS LOG";
810 [153]"WAITNEW 10 LISTNEWCOS WAITINT ";
815 [153]" ABS USRUSRUSRUSR WAITINT";
820 [153]" ":[142]