Rifle Range

Date: 198x
Type: Program
Platform(s): TS 2068

Arcade rifle range. Use any key to shoot at the targets. The game will end when you have no ammunition left.

Appears on

Gallery

Source Code

    1 RESTORE : CLEAR 60000: REM   by Michael Housley of Bradford,Yorkshire
    2 DATA 17,64,156,33,0,64,1,0,27,237,176,201,17,0,64,33,64,156,1,0,27,237,176,201,33,0,88,1,0,3,197,62,0,1,100,0,11,60,211,254,120,177,32,248,54,7,35,54,54,193,11,120,177,32,231,201,32,228,201
    3 FOR f=60000 TO 60011: READ a: POKE f,a: NEXT f
    4 FOR f=60050 TO 60061: READ a: POKE f,a: NEXT f
    5 FOR f=60100 TO 60134: READ a: POKE f,a: NEXT f
    6 DIM h(5): DIM h$(5,10)
    7 FOR f=1 TO 5: LET h(f)=6000-(f*1000): NEXT f
    8 FOR f=1 TO 5: LET h$(f)="SPECTRUM": NEXT f
    9 FOR f=60200 TO 60241: READ a: POKE f,a: NEXT f: FOR f=60250 TO 60266: READ a: POKE f,a: NEXT f
   10 DATA 1,2,0,197,33,0,64,1,0,4,126,15,119,35,126,7,119,35,11,120,177,32,243,193,11,120,177,32,1,201,33,0,80,120,177,197,1,0,4,32,225,201,33,0,88,1,0,3,58,86,234,119,35,11,120,177,32,246,201
   11 DATA 108,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,0,0,28,30,46,126,30,28,60,62,31,31,15,15,7,3,31,124,252,252,248,248,240,224
   20 DATA 3,12,16,35,68,72,145,146,146,145,72,68,35,16,12,3,192,48,8,196,34,18,137,73,73,137,18,34,196,8,48,192
   30 DATA 1,1,1,3,3,3,31,255,255,31,3,3,3,1,1,1,128,128,128,192,192,192,248,255,255,248,192,192,192,128,128,128
   40 DATA 15,16,36,42,68,64,127,64,224,16,72,168,68,4,252,4,32,24,5,7,53,73,129,255,8,48,64,192,56,36,2,254
   50 DATA 1,1,1,3,3,255,63,7,128,128,128,192,192,255,252,224,7,15,14,28,56,112,224,192,224,240,112,56,28,14,7,3
  100 FOR f=0 TO 167: READ a: POKE USR "\a"+f,a: NEXT f
  150 PAPER 2: INK 0: BRIGHT 1: BORDER 2: CLS 
  160 FOR f=0 TO 3: PRINT PAPER 5;AT f,0;"                                ": NEXT f
  170 FOR f=0 TO PI^2 STEP .1: PLOT INK 6;235+SIN (f/PI)*14,160+COS (f/PI)*14: DRAW INK 6;-(((235+SIN (f/PI)*14)-235)*2),0: NEXT f
  175 PLOT INVERSE 1; PAPER 0; INK 6;225,156: DRAW INVERSE 1; INK 6; PAPER 0;20,0,1.5: DRAW INVERSE 1; PAPER 0; INK 6;-20,0,-.75
  177 CIRCLE INVERSE 1; INK 6; PAPER 0;232,162,3: PLOT INVERSE 1; INK 6; PAPER 0;233,162
  178 CIRCLE INVERSE 1; INK 6; PAPER 0;238,162,3: PLOT INVERSE 1; INK 6; PAPER 0;237,162
  179 CIRCLE INVERSE 1; INK 6; PAPER 0;235,157,2
  180 PLOT 0,0: FOR f=0 TO 15: PLOT f,f: DRAW 15-f,0: PLOT 255-f,-f: DRAW f-15,0: NEXT f
  200 PLOT 0,0: DRAW 48,48: DRAW 159,0: DRAW 48,-48: DRAW 0,140: DRAW -255,0: DRAW 0,-140
  210 PLOT 48,48: DRAW 0,92: PLOT 207,48: DRAW 0,92: PLOT 16,16: DRAW 223,0
  220 PLOT 10,10: DRAW 0,130: PLOT 20,20: DRAW 0,120: PLOT 30,30: DRAW 0,110: PLOT 40,40: DRAW 0,100
  230 PLOT 245,10: DRAW 0,130: PLOT 235,20: DRAW 0,120: PLOT 225,30: DRAW 0,110: PLOT 215,40: DRAW 0,100
  240 PLOT 58,48: DRAW -24,-32: PLOT 68,48: DRAW -14,-32: PLOT 78,48: DRAW -9,-32: PLOT 88,48: DRAW -5,-32
  250 PLOT 98,48: DRAW -4,-32: PLOT 108,48: DRAW -3,-32: PLOT 118,48: DRAW -2,-32: PLOT 128,48: DRAW 0,-32
  260 PLOT 138,48: DRAW 2,-32: PLOT 148,48: DRAW 3,-32: PLOT 158,48: DRAW 4,-32: PLOT 168,48: DRAW 5,-32
  270 PLOT 178,48: DRAW 9,-32: PLOT 188,48: DRAW 14,-32: PLOT 188,48: DRAW 14,-32: PLOT 198,48: DRAW 24,-32
  280 PLOT 48,95: DRAW 159,0: DRAW 10,-3: DRAW -179,0: DRAW 8,3: PLOT 38,92: DRAW 0,-2: DRAW 179,0: DRAW 0,2
  290 PLOT 0,140: DRAW 0,2: DRAW 255,0: DRAW 0,-2
  300 FOR f=67 TO 187 STEP 20: CIRCLE INK 7;f,106,10: CIRCLE INK 7;f,106,7: NEXT f
  310 PRINT PAPER 0; INK 7;AT 2,6;"YE OLDE RIFLE RANGE."
  320 PLOT 45,149: DRAW 165,0: DRAW 0,13: DRAW -165,0: DRAW 0,-13
  330 PLOT 80,149: DRAW 0,-6: PLOT 82,149: DRAW 0,-6: PLOT 175,149: DRAW 0,-6: PLOT 173,149: DRAW 0,-6
  340 PLOT 80,142: PLOT 82,142: PLOT 175,142: PLOT 173,142
  345 PRINT PAPER 2; INK 6;AT 5,8;"\c";AT 6,8;"\d\e";AT 5,22;"\c";AT 6,22;"\d\e"
  350 PRINT PAPER 7;AT 5,11;"YE PRIZES.";AT 11,12;"YE SCORE"; PAPER 0;AT 12,13;"      ";AT 14,6;"                    ";AT 15,6;"                    "
  360 PRINT PAPER 7;AT 0,11;"YE AMMO "; PAPER 0;"   ": PRINT PAPER 0;AT 20,2;"                            ";AT 21,1;"                              "
  361 PAUSE 60
  363 RANDOMIZE USR 60000
  365 GO TO 2000
  367 BORDER 0
  368 LET sc=0: LET bon=1000: LET tam=51
  369 RANDOMIZE USR 60050
  370 LET co=0: LET a=15: LET f=0: LET x=1: LET am=tam: LET go=1000
  375 PRINT PAPER 0; INK 6;AT 0,19;am
  380 GO SUB go
  390 LET f=0: LET am=am-1
  400 PRINT PAPER 0; INK 6;AT 0,19;am;" "
  500 PRINT PAPER 0; INK in;AT 14,6;a$;AT 15,6;b$
  510 IF INKEY$<>"" THEN LET f=1: BEEP .01,-10
  520 LET a$=a$(2 TO )+a$(1): LET b$=b$(2 TO )+b$(1)
  530 PRINT INK 5; PAPER 0;AT 20,a;" \a ";AT 21,a;" \b "
  540 LET a=a+x
  550 IF a<7 THEN LET x=1
  560 IF a>23 THEN LET x=-1
  570 IF f=1 AND CODE (b$(a-5))>32 THEN GO TO 600
  580 IF f=1 THEN LET f=0: LET am=am-1
  585 IF am=0 THEN GO TO 3000
  590 GO TO 400
  600 BEEP .01,20
  610 LET co=co+1
  620 LET b$(a-5)=" "
  630 IF CODE (b$(a-6))>32 THEN LET b$(a-6)=" "
  640 IF CODE (b$(a-4))>32 THEN LET b$(a-4)=" "
  650 LET a$(a-6 TO a-4)="   "
  660 LET sc=sc+va: PRINT INK RND*6+1; PAPER 0;AT 12,13;sc;" "
  670 IF co=5 THEN LET go=go+10: GO TO 380
  675 IF am=0 THEN GO TO 3000
  680 GO TO 580
 1000 LET va=100: LET in=6: LET a$="\c   \c   \c   \c   \c   ": LET b$="\d\e  \d\e  \d\e  \d\e  \d\e  ": RETURN 
 1010 LET co=0: LET va=200: LET in=7: LET a$="\f\h  \f\h  \f\h  \f\h  \f\h  ": LET b$="\g\i  \g\i  \g\i  \g\i  \g\i  ": RETURN 
 1020 LET co=0: LET va=300: LET in=4: LET a$="\j\l  \j\l  \j\l  \j\l  \j\l  ": LET b$="\k\m  \k\m  \k\m  \k\m  \k\m  ": RETURN 
 1030 LET co=0: LET va=400: LET in=5: LET a$="\n\o  \n\o  \n\o  \n\o  \n\o  ": LET b$="\p\q  \p\q  \p\q  \p\q  \p\q  ": RETURN 
 1040 LET co=0: LET va=500: LET in=3: LET a$="\r\s  \r\s  \r\s  \r\s  \r\s  ": LET b$="\t\u  \t\u  \t\u  \t\u  \t\u  ": RETURN 
 1050 LET co=0: LET va=600: LET in=7: LET a$="\r\s  \c   \f\h  \j\l  \n\o  ": LET b$="\t\u  \d\e  \g\i  \k\m  \p\q  ": RETURN 
 1060 FOR f=0 TO 10: FOR g=7 TO 0 STEP -1: POKE 59990,g: RANDOMIZE USR 60250: BEEP .001,f*2+20: NEXT g: NEXT f
 1065 RANDOMIZE USR 60050: BEEP .01,20
 1070 PRINT AT 20,a;"  ";AT 21,a;"  ": LET sc=sc+bon: LET tam=tam-5
 1080 IF tam<30 THEN LET sc=sc+10000: GO TO 3000
 1090 GO TO 370
 2000 BORDER 0: PAPER 0: INK 7: CLS 
 2001 LET ink=RND*5+1
 2005 FOR f=4 TO 5: PRINT INK ink;AT f,0;"\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.\'.";AT f+13,0;"\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':": NEXT f
 2010 PRINT INK ink;AT 8,6;"\ .\':\':\' \ .\' \ : \ .\'  \ .\':\ .\ :\ '\ :\ :\''\ :\''           \ .\':\ : \ . \ : \ .  \ .\':\ .\ :\ :\':\ :\ :\ :\'            \' \' \''\' \'  \''\' \''\'  \' \' \' \' \' \ '\ '\''\ '\''"
 2020 PRINT AT 12,0;"PRESS EITHER"''"1.FOR INSTRUCTIONS"'"          OR 2.TO PLAY"
 2025 FOR f=0 TO 500
 2028 RANDOMIZE USR 60200
 2030 IF INKEY$="1" THEN BEEP .01,10: GO TO 2060
 2040 IF INKEY$="2" THEN BEEP .01,10: GO TO 367
 2050 NEXT f
 2055 CLS : GO TO 3190
 2060 CLS : INK 0
 2070 PRINT "USE ANY KEY TO SHOOT AT THE"''"TARGETS."
 2080 PRINT '"THE GAME WILL END WHEN YOU HAVE"''"NO AMMUNITION LEFT."
 2090 PRINT '"IF YOU SHOOT ALL THE TARGETS"''"THEN YOU WILL GET SOME BONUS"''"POINTS AND START AGAIN WITH LESS"''"AMMUNITION."
 2095 PRINT ''"PRESS ANY KEY.": RANDOMIZE USR 60100: BORDER 0
 2096 PAUSE 0: CLS 
 2100 PRINT "WHILST YOU ARE PLAYING THE GAME"''"YOUR GUN WILL MOVE BACKWARDS"''"AND FORWARDS ACROSS THE"''"BOTTOM OF THE SCREEN JUST TO"''"MAKE THINGS HARDER."
 2110 PRINT '"REMEMBER TO ALLOW FOR THE DELAY"''"BEFORE THE BULLET REACHES THE"''"TARGET."
 2120 PRINT ''"PRESS ANY KEY."
 2125 RANDOMIZE USR 60100: BORDER 0
 2130 PAUSE 0: CLS 
 2140 PRINT "\c   \c   \c   \c   \c     100 POINTS"'"\d\e  \d\e  \d\e  \d\e  \d\e        EACH"
 2150 PRINT '"\f\h  \f\h  \f\h  \f\h  \f\h    200 POINTS"'"\g\i  \g\i  \g\i  \g\i  \g\i        EACH"
 2160 PRINT '"\j\l  \j\l  \j\l  \j\l  \j\l    300 POINTS"'"\k\m  \k\m  \k\m  \k\m  \k\m        EACH"
 2170 PRINT '"\n\o  \n\o  \n\o  \n\o  \n\o    400 POINTS"'"\p\q  \p\q  \p\q  \p\q  \p\q        EACH"
 2180 PRINT '"\r\s  \r\s  \r\s  \r\s  \r\s    500 POINTS"'"\t\u  \t\u  \t\u  \t\u  \t\u        EACH"
 2190 PRINT '"\c   \f\h  \j\l  \n\o  \r\s    600 POINTS"'"\d\e  \g\i  \k\m  \p\q  \t\u        EACH"
 2200 PRINT ''"PRESS ANY KEY."
 2205 RANDOMIZE USR 60100: BORDER 0
 2210 PAUSE 0: INK 7: CLS : GO TO 2001
 3000 FOR f=7 TO 0 STEP -1: POKE 59990,f: RANDOMIZE USR 60250: BEEP .01,f*2: PAUSE 10: NEXT f: BORDER 0: BEEP .2,-20: CLS 
 3010 IF sc>h(5) THEN GO TO 3050
 3020 PRINT FLASH 1;AT 8,8;"YOU SCORED ";sc
 3030 PRINT INK 7;AT 16,9;"PRESS ANY KEY."
 3040 PAUSE 0: GO TO 2000
 3050 LET h$(5)="": PRINT "     PLEASE ENTER YOUR NAME"
 3051 PRINT AT 10,10;"----------": PRINT AT 15,8;"YOU SCORED ";sc
 3052 LET g=1
 3054 PAUSE 0
 3056 LET l$=INKEY$: BEEP .005,10
 3058 IF l$=CHR$ 13 THEN GO TO 3080
 3059 IF g>1 AND l$=CHR$ 12 THEN LET h$(5,g)="": PRINT CHR$ 8;"-";CHR$ 8;: LET g=g-1: GO TO 3054
 3060 LET h$(5,g)=l$
 3062 PRINT AT 10,g+10;l$;
 3064 LET g=g+1
 3066 IF g<11 THEN GO TO 3054
 3080 CLS 
 3100 LET h(5)=sc
 3110 LET zx=4
 3120 FOR f=1 TO zx
 3130 IF h(f)>=h(f+1) THEN GO TO 3160
 3140 LET v=h(f): LET h(f)=h(f+1): LET h(f+1)=v
 3150 LET v$=h$(f): LET h$(f)=h$(f+1): LET h$(f+1)=v$
 3160 NEXT f
 3170 LET zx=zx-1
 3180 IF zx>0 THEN GO TO 3120
 3190 PRINT AT 0,2; INK RND*6+1;"\ :\ :\ .\'  \ :\ :\ .\ :\ : \ :  \ .\ :\ .\'  \ .\' \ .\ :\ .\ .\ :\ .\'     \':\' \ .  \ .\ :\ .\ :\ : \ :  \ :\ :\ .  \ . \ .\ :\ :\ :\ :\ .     \ ' \''\'  \' \' \' \' \''\' \''\'  \''\' \'   \'  \' \' \' \' \' \''\' "
 3200 FOR f=1 TO 5: PRINT INK f+2;AT (f*2)+3,0;f;"-------- ";h$(f);AT (f*2)+3,21;" ---- ";h(f): NEXT f
 3400 PRINT AT 18,5;"    PRESS ANY KEY.    "
 3405 FOR f=0 TO 1000
 3410 IF INKEY$<>"" THEN GO TO 365
 3420 NEXT f: GO TO 2000
 9997 STOP 
 9999 SAVE "Rifle*" LINE 1

People

No people associated with this content.

Scroll to Top