home *** CD-ROM | disk | FTP | other *** search
Wrap
Applesoft BASIC Source Code | 1991-11-29 | 7.6 KB | 302 lines | [FC] Applesoft BASIC Program (0x0801)
10 REM **************** 20 REM * * 30 REM * SHOOTING * 40 REM * GALLERY!! * 50 REM * BY STEVE * 60 REM * LUZYNSKI * 70 REM **************** 80 GOSUB 200: REM INSTRUCTIONS 90 GOSUB 1000: REM FONTSHELL 100 GOSUB 1200: REM LOAD VARIABLES 110 GOSUB 400: REM PLAY 120 END 200 REM INSTRUCTIONS!! 210 TEXT : HOME 220 A$ = "SHOOTING GALLERY" 230 B = INT(20 - LEN(A$)/2) 240 HTAB B: PRINT A$ 250 PRINT "Copyright 1986,1988 by Steve Luzynski" 260 PRINT : PRINT "In this game you must shoot down" 270 PRINT "different targets at the right of the" 280 PRINT "screen to obtain points." 290 PRINT "Scoring is as follows:" 300 PRINT 310 PRINT TAB( 5)"DUCK -- +10 POINTS." 320 PRINT TAB( 5)"LEMON -- - 5 POINTS." 330 PRINT TAB( 5)"BULLSEYE -- +25 POINTS." 340 PRINT TAB( 5)"UFO -- +10 SECONDS." 350 PRINT TAB( 5)"BIG X -- - 5 SECONDS." 360 PRINT : PRINT "You have three minutes to start with": PRINT "Press SPACE BAR to fire a shot": PRINT "<< Be sure caps lock is !UP! >>" 370 FOR I = 1 TO 4: PRINT : NEXT 380 PRINT "<<<<<<< PRESS RETURN TO CONTINUE >>>>>>": GET GO$ 385 HOME : VTAB 10: PRINT "Loading ML...(You have a minute to go use the 'facilities or whatever')" 390 RETURN 400 REM Play!! 410 GOSUB 1300: REM SCREEN 420 PL = 1 430 VTAB 3: PRINT " ": VTAB 5: PRINT " ": VTAB 7: PRINT " ": VTAB 9: PRINT " " 440 IF PL = 4 THEN VTAB 9: PRINT "" 450 IF PL = 1 THEN VTAB 3: PRINT "" 460 IF PL = 2 THEN VTAB 5: PRINT "" 470 IF PL = 3 THEN VTAB 7: PRINT "" 480 IF PL = 1 THEN VTAB 3: HTAB 13: PRINT BL2$ 490 IF PL = 2 THEN VTAB 5: HTAB 13: PRINT BL2$ 500 IF PL = 3 THEN VTAB 7: HTAB 13: PRINT BL2$ 510 IF PL = 4 THEN VTAB 9: HTAB 13: PRINT BL2$ 520 VTAB 3:V = 3: FOR I = 1 TO A: HTAB 13: PRINT T(I);: HTAB 23: PRINT S(I);: HTAB 34: PRINT SH(I):V = V +2: VTAB V: NEXT 530 AC = AC +1: IF AC > = 40 THEN AC = 1 540 CL = FRE(0): REM CLEAR STRING SPACE 550 FL$ = MID$ (F$,AC,40) 560 SL$ = MID$ (S$,AC,40) 570 VTAB 11: PRINT BL$: VTAB 12: PRINT BL$ 580 VTAB 11: PRINT FL$ 590 VTAB 12: PRINT SL$ 600 KEY = PEEK( -16384): IF KEY >128 THEN GOSUB 680 610 POKE -16368,0 620 IF SH(PL) = <0 THEN GOSUB 1610: GOTO 650 630 FOR Z = 1 TO 10: FOR ZZ = 1 TO WT: NEXT ZZ: NEXT Z:T(PL) = T(PL) -1: IF T(PL) = <0 THEN 650 640 GOTO 480 650 WAIT -16384,128: POKE -16368,0 660 PL = PL +1: IF PL = >(A +1) THEN GOTO 860 670 GOTO 430 680 POKE -16368,0 690 SH(PL) = SH(PL) -1: IF SH(PL) = < -1 THEN GOSUB 1610: GOTO 650 700 AC = AC +1 710 CHAR = SCRN( 20,2 *10) +16 * SCRN( 20,2 *10 +1) 720 VTAB 19: HTAB 20 730 FOR I = 18 TO 11 STEP -1 740 HTAB 21: VTAB I: PRINT "|" 750 SO = PEEK( -16336) + PEEK( -16336) + PEEK( -16336) 760 NEXT 770 FOR I = 18 TO 11 STEP -1: HTAB 21: VTAB I: PRINT " ": NEXT : HTAB 21: VTAB 19: PRINT "" 780 CHAR = CHAR -128 790 IF CHAR = 32 THEN RETURN 800 IF CHAR = 33 THEN S(PL) = S(PL) +10: GOTO 850 810 IF CHAR = 60 OR CHAR = 37 THEN S(PL) = S(PL) +25: GOTO 850 820 IF CHAR = 40 OR CHAR = 41 THEN S(PL) = S(PL) -5: GOTO 850 830 IF CHAR = 46 OR CHAR = 47 THEN T(PL) = T(PL) +11: GOTO 850 840 IF CHAR = 88 THEN T(PL) = T(PL) -5 850 PRINT CHR$(7): RETURN 860 FOR I = 1 TO A STEP 2: VTAB 20 +(A <3) +I: HTAB 1: PRINT NA$(I);S(I);: IF NA$(I +1) < >"" THEN HTAB 23: PRINT NA$(I +1);S(I +1) 870 NEXT I 880 VTAB 24: PRINT "PLAY AGAIN?";: GET P$ 890 IF P$ = "Y" OR P$ = "y" THEN GOTO 400 900 GOTO 1680 1000 REM FONTSHELL 1010 GOSUB 2000 1020 GOSUB 3000 1040 POKE 6,0: POKE 7,141 1050 PRINT CHR$(4);"PR#A$300" 1060 HGR2 1070 HOME : CALL -3092 1080 RETURN 1200 REM VariAbles! 1210 AC = 1 1220 BL$ = " " 1230 BL2$ = MID$ (BL$,1,24) 1240 WT = 14.666667: REM MAKES 1 TURN APPROX. 1 SEC 1250 F$ = "! <% XX () ./ ! <% XX () ./ ": REM LINE 1 1260 S$ = "~# &' XX *, >@ ~# &' XX *, >@ ": REM LINE 2 1270 FL$ = MID$ (F$,AC,40) 1280 SL$ = MID$ (S$,AC,40) 1290 RETURN 1300 REM SCREEN 1310 HOME : CALL -3092 1320 PRINT "number of players?(1-4)"; 1330 IF PEEK( -16384) <128 THEN 1330 1340 A = PEEK( -16384) -128: PRINT CHR$(A):A = A -48: POKE -16368,0: FOR I = 1 TO A: PRINT "player no-";I;":"; 1350 INPUT A$:NA$(I) = LEFT$(A$,8): NEXT 1360 GOSUB 1570 1370 HOME : CALL -3092 1380 HTAB 1: VTAB 1 1390 FOR I = 1 TO A:ZZ = INT(9 - LEN(NA$(I))): FOR PR = 1 TO ZZ:NA$(I) = NA$(I) +" ": NEXT : NEXT 1400 FOR I = 1 TO A 1410 NA$(I) = NA$(I) +":" 1420 NEXT 1430 VTAB 1: HTAB 12: PRINT "time score shots" 1440 HCOLOR= 3: HPLOT 63,11 TO 279,11 1450 FOR I = 1 TO A: VTAB 2 *I +1: HTAB 3: PRINT NA$(I) 1460 HPLOT 63,2 *I *8 +11 TO 279,2 *I *8 +11: NEXT 1470 FOR I = 1 TO A STEP 2: VTAB 20 +(A <3) +I: HTAB 1: PRINT NA$(I);: IF NA$(I +1) < >"" THEN HTAB 23: PRINT NA$(I +1) 1480 NEXT 1490 HPLOT 0,75 TO 279,75: HPLOT 0,155 TO 279,155 1500 FOR I = 1 TO A:S(I) = 0:T(I) = 180:SH(I) = 25: NEXT 1510 POKE 34,13 1520 VTAB 3:V = 3: FOR I = 1 TO A: HTAB 13: PRINT T(I);: HTAB 23: PRINT S(I);: HTAB 34: PRINT SH(I):V = V +2: VTAB V: NEXT 1530 VTAB 11 1540 PRINT FL$;: PRINT SL$ 1550 VTAB 19: HTAB 21: PRINT "": REM GUN 1560 RETURN 1570 VTAB 11: PRINT FL$: VTAB 12: PRINT SL$ 1580 VTAB 13: PRINT "d b x l u d" 1590 VTAB 14: PRINT "d=duck b=bullseye x= big x l=lemon u=ufo" 1600 GET ZZ$: RETURN 1610 REM TIME=SCORE 1620 FOR SC = 1 TO T(PL) STEP 2 1630 T(PL) = T(PL) -2:S(PL) = S(PL) +1 1640 BZ = PEEK( -16336) - PEEK( -16336) - PEEK( -16336) 1650 IF T(PL) <0 THEN T(PL) = 0 1660 VTAB 3:V = 3: FOR I = 1 TO A: HTAB 13: PRINT " ": HTAB 13: VTAB V: PRINT T(I);: HTAB 23: PRINT S(I);: HTAB 34: PRINT SH(I):V = V +2: VTAB V: NEXT 1670 NEXT : RETURN 1680 REM !bye! 1690 POKE 34,0 1700 HOME : CALL -3092 1710 PRINT "This program copyright 1988 by" 1720 PRINT "Steve Luzynski": PRINT "3604 So 10th St Ct": PRINT "Blue Springs MO 64015" 1730 PRINT : PRINT "Display program -HROUT- is from Computes Second book of Apple and the charecter set was made with HRCG from Apples DOS toolkit" 1740 PRINT : PRINT "If you liked this game and would like to encourage me to write more send at least 5 dollars to me at the above address You will get a note from me enabling you to pick up the next game or utility I write" 1750 PRINT "BEFORE anyone else gets it": PRINT 1760 PRINT "Please distribute this game freely with NO CHARGES except your distributioncharges which can not be over 5 dollars" 1770 PRINT "Thanks and watch for my next program" 1780 WAIT -16384,128: POKE -16368,0 1790 TEXT : HOME 1800 END 2000 FOR I = 768 TO 855 2010 READ D: POKE I,D: NEXT I 2020 RETURN 2030 DATA 216,120,133,69,134 2040 DATA 70,132,71,166,7,10 2050 DATA 10,176,4,16,62,48 2060 DATA 4,16,1,232,232,10 2070 DATA 134,27,24,101,6,133 2080 DATA 26,144,2,230,27,165 2090 DATA 40,133,8,165,41,41 2100 DATA 3,5,230,133,9,162 2110 DATA 8,160,0,177,26,36 2120 DATA 50,48,2,73,127,164 2130 DATA 36,145,8,230,26,208 2140 DATA 2,230,27,165,9,24 2150 DATA 105,4,133,9,202,208 2160 DATA 226,165,69,166,70,164 2170 DATA 71,88,76,240,253 3000 FOR I = 36096 TO 36862 3010 READ D: POKE I,D: NEXT I 3020 RETURN 3030 DATA 0,0,0,0,0 3040 DATA 0,0,0,152,188,251 3050 DATA 191,156,156,156,156,20 3060 DATA 20,20,0,0,0,0 3070 DATA 0,131,231,239,255,191 3080 DATA 191,191,159,8,60,10 3090 DATA 28,40,30,8,0,128 3100 DATA 191,224,207,216,211,212 3110 DATA 213,213,149,229,141,249 3120 DATA 131,254,128,213,212,211 3130 DATA 216,207,224,191,128,128 3140 DATA 128,128,240,248,252,254 3150 DATA 255,128,128,128,135,143 3160 DATA 159,191,255,255,254,252 3170 DATA 248,240,128,128,128,0 3180 DATA 8,8,62,8,8,0 3190 DATA 0,255,191,159,143,135 3200 DATA 128,128,128,0,0,0 3210 DATA 62,0,0,0,0,237 3220 DATA 210,194,192,192,252,254 3230 DATA 147,219,165,161,129,129 3240 DATA 159,191,249,62,34,50 3250 DATA 42,38,34,62,0,8 3260 DATA 12,8,8,8,8,28 3270 DATA 0,30,32,32,28,2 3280 DATA 2,62,0,30,32,32 3290 DATA 56,32,32,30,0,16 3300 DATA 18,18,18,62,16,16 3310 DATA 0,62,2,30,32,32 3320 DATA 32,30,0,60,2,2 3330 DATA 30,34,34,28,0,62 3340 DATA 32,16,8,4,2,2 3350 DATA 0,62,34,34,62,34 3360 DATA 34,62,0,62,34,34 3370 DATA 62,32,32,62,0,0 3380 DATA 0,8,0,8,0,0 3390 DATA 0,0,0,8,0,8 3400 DATA 8,4,0,128,254,131 3410 DATA 249,141,229,149,213,0 3420 DATA 0,62,0,62,0,0 3430 DATA 0,147,254,252,128,128 3440 DATA 128,128,128,28,34,16 3450 DATA 8,8,0,8,0,249 3460 DATA 191,159,128,128,128,128 3470 DATA 128,28,34,34,34,62 3480 DATA 34,34,0,62,34,34 3490 DATA 30,34,34,62,0,62 3500 DATA 34,2,2,2,34,62 3510 DATA 0,30,34,34,34,34 3520 DATA 34,30,0,62,2,2 3530 DATA 62,2,2,62,0,62 3540 DATA 2,2,62,2,2,2 3550 DATA 0,62,2,2,2,50 3560 DATA 34,62,0,34,34,34 3570 DATA 62,34,34,34,0,62 3580 DATA 8,8,28,8,8,62 3590 DATA 0,32,32,32,32,32 3600 DATA 34,62,0,34,50,26 3610 DATA 14,26,50,34,0,2 3620 DATA 2,2,2,2,2,62 3630 DATA 0,54,42,42,42,34 3640 DATA 34,34,0,34,34,38 3650 DATA 42,50,34,34,0,62 3660 DATA 34,34,34,34,34,62 3670 DATA 0,62,34,34,62,2 3680 DATA 2,2,0,62,34,34 3690 DATA 34,42,18,46,0,62 3700 DATA 34,34,62,10,18,34 3710 DATA 0,62,2,2,62,32 3720 DATA 32,62,0,62,8,8 3730 DATA 8,8,8,8,0,34 3740 DATA 34,34,34,34,34,62 3750 DATA 0,34,34,34,34,34 3760 DATA 20,8,0,34,34,34 3770 DATA 42,42,54,34,0,65 3780 DATA 65,34,20,8,20,34 3790 DATA 65,34,34,20,8,8 3800 DATA 8,8,0,62,32,16 3810 DATA 60,8,6,62,0,62 3820 DATA 6,6,6,6,6,62 3830 DATA 0,0,2,4,8,16 3840 DATA 32,0,0,62,48,48 3850 DATA 48,48,48,62,0,0 3860 DATA 0,8,20,34,0,0 3870 DATA 0,0,0,0,0,0 3880 DATA 0,0,127,4,8,16 3890 DATA 0,0,0,0,0,0 3900 DATA 0,28,34,62,34,34 3910 DATA 0,2,2,62,34,34 3920 DATA 34,62,0,0,0,60 3930 DATA 2,2,2,60,0,32 3940 DATA 32,62,34,34,34,62 3950 DATA 0,0,0,60,2,62 3960 DATA 2,60,0,60,4,4 3970 DATA 30,4,4,4,0,0 3980 DATA 0,62,34,34,62,32 3990 DATA 62,2,2,62,34,34 4000 DATA 34,34,0,8,0,12 4010 DATA 8,8,8,28,0,16 4020 DATA 0,24,16,16,16,18 4030 DATA 30,34,50,26,14,26 4040 DATA 50,34,0,12,8,8 4050 DATA 8,8,8,28,0,0 4060 DATA 0,20,42,42,34,34 4070 DATA 0,0,0,62,34,34 4080 DATA 34,34,0,0,0,62 4090 DATA 34,34,34,62,0,0 4100 DATA 0,62,34,34,62,2 4110 DATA 2,0,0,62,34,34 4120 DATA 62,32,32,0,0,30 4130 DATA 18,30,10,18,0,0 4140 DATA 0,62,2,62,32,62 4150 DATA 0,4,4,30,4,4 4160 DATA 36,60,0,0,0,34 4170 DATA 34,34,50,46,0,0 4180 DATA 0,34,34,34,20,8 4190 DATA 0,0,0,34,34,42 4200 DATA 42,54,0,0,0,34 4210 DATA 20,8,20,34,0,0 4220 DATA 0,34,34,34,62,32 4230 DATA 62,0,0,62,16,28 4240 DATA 4,62,0,56,12,12 4250 DATA 6,12,12,56,0,8 4260 DATA 8,8,8,8,8,8 4270 DATA 8,14,24,24,48,24 4280 DATA 24,14,0,252,254,255 4290 DATA 255,255,255,254,252,8 4300 DATA 62,42,8,42,28,34