10 IF PAGE>&E00 THEN PAGE=&E00:CHAIN "Archery" 20 VDU 23,42,255,255,255,255,255,255,255,255 30 sc=0 40 ONERROR MODE1:PROCend 50 REM Archery 60 REM by David Bradforth (Age 14) 70 REM (c) March 1993 80 MODE 1:VDU 23;8202;0;0;0; 90 COLOUR 1 100 PRINTTAB(0,2)"Archery" 110 COLOUR 2 120 PRINTTAB(0,3)"by David Bradforth 1993" 130 COLOUR 3:PRINT 140 PRINT "This game shows how simple ideas can be used to create GREAT games on an 8-bit computer." 150 PRINT 160 COLOUR1 170 PRINT "The Keys:" 180 COLOUR 2 190 PRINT "=========" 200 COLOUR 3:PRINT 210 PRINT "Use the number keys detailed inside" 220 PRINT "the archery board to shoot!!!" 230 PRINT "Press To Finish!!!" 240 COLOUR 1 250 PRINTTAB(0,28)"Press Space to start playing Archery." 260 PROCboard 270 OSCLI"FX21":A$=GET$ 280 IFA$<>" "THEN GOTO 270 290 CLS:VDU5:GCOL 0,1 300 MOVE 640,512 310 PLOT 154,300,300 320 MOVE 230,512 330 PRINT "1" 340 MOVE 640,512 350 PLOT 154,250,250 360 MOVE 310,512 370 PRINT "2" 380 MOVE 640,512 390 PLOT 154,200,200 400 MOVE 370,512 410 PRINT "3" 420 MOVE 640,512 430 PLOT 154,150,150 440 MOVE 450,512 450 PRINT "4" 460 MOVE 640,512 470 PLOT 154,100,100 480 MOVE 640,512 490 PRINT "5" 500 MOVE 50,50 510 GCOL 0,1 520 PRINT "Score: "sc 530 GCOL 0,2 540 MOVE 60,60 550 PRINT "Score: "sc 560 VDU 4 570 PRINT "Please press a number for your aim." 575 *FX21 580 Z$=GET$ 590 aim=RND(5) 600 IF Z$="1" AND aim=1 THEN PROCgotone 610 IF Z$="2" AND aim=2 THEN PROCgottwo 620 IF Z$="3" AND aim=3 THEN PROCgotthree 630 IF Z$="4" AND aim=4 THEN PROCgotfour 640 IF Z$="5" AND aim=5 THEN PROCgotfive 650 IF Z$="1" AND aim<>1 THEN PROCgotnone 660 IF Z$="2" AND aim<>2 THEN PROCgotnone 670 IF Z$="3" AND aim<>3 THEN PROCgotnone 680 IF Z$="4" AND aim<>4 THEN PROCgotnone 690 IF Z$="5" AND aim<>5 THEN PROCgotnone 700 MODE1:VDU 23;8202;0;0;0; 710 GOTO 290 720 END 730 : 740 DEFPROCgotone 750 CLS 760 PROCboard 770 VDU 5 780 GCOL 0,2 790 MOVE 230,512 800 PRINT "X" 810 VDU 4 820 sc=sc+1 830 PROCrip 840 PROCboom 850 ENDPROC 860 : 870 DEFPROCgottwo 880 CLS 890 PROCboard 900 VDU 5 910 GCOL 0,2 920 MOVE 310,512 930 PRINT "X" 940 VDU4 950 sc=sc+1 960 PROCrip 970 PROCboom 980 ENDPROC 990 : 1000 DEFPROCgotthree 1010 CLS 1020 PROCboard 1030 VDU 5 1040 GCOL 0,2 1050 MOVE 370,512 1060 PRINT "X" 1070 VDU 4 1080 sc=sc+1 1090 PROCrip 1100 PROCboom 1110 ENDPROC 1120 : 1130 DEFPROCgotfour 1140 CLS 1150 PROCboard 1160 VDU 5 1170 GCOL 0,2 1180 MOVE 450,512 1190 PRINT "X" 1200 VDU 4 1210 sc=sc+1 1220 PROCrip 1230 PROCboom 1240 ENDPROC 1250 : 1260 DEFPROCgotfive 1270 CLS 1280 PROCboard 1290 VDU 5 1300 GCOL 0,2 1310 MOVE 640,512 1320 PRINT "X" 1330 VDU 4 1340 sc=sc+1 1350 PROCrip 1360 PROCboom 1370 ENDPROC 1380 : 1390 DEFPROCgotnone 1400 CLS 1410 PROCboard 1420 X=RND(1500) 1430 Y=RND(1500) 1440 VDU 5 1450 GCOL 0,2 1460 MOVE X,Y 1470 PRINT "X" 1480 MOVE 100,1000 1490 GCOL 0,1 1500 PROCrandommes 1510 MOVE 110,1100 1520 GCOL 0,2 1530 PRINT "Foul Shot" 1540 VDU4 1550 TIME=0:REPEAT UNTIL TIME=200 1560 ENDPROC 1570 : 1580 DEFPROCend 1590 CLS 1600 MOVE 100,100 1610 VDU 5 1620 GCOL 0,1 1630 PRINT "Archery (c) David Bradforth 1993" 1640 MOVE 110,110 1650 GCOL 0,2 1660 PRINT "Archery (c) David Bradforth 1993" 1670 VDU 4 1680 PRINT 1690 PRINT "Archery:" 1700 PRINT 1710 PRINT " When you quit, you had a final score" 1720 PRINT " of "; 1730 PRINT sc; 1740 PRINT "." 1750 PRINT 1760 PRINT " Shall I save this to disc?" 1770 PRINT " (Y/N)" 1780 yn$=GET$ 1790 IF yn$="Y" THEN OSCLI "*SAVE HScore FF3000+5000" 1800 PRINT " Another go? (Y/N)" 1810 ynb$=GET$ 1820 IF ynb$="Y" THEN RUN 1830 END 1840 ENDPROC 1850 : 1860 DEFPROCboard 1870 MOVE 640,512 1880 PLOT 154,300,300 1890 MOVE 640,512 1900 PLOT 154,250,250 1910 MOVE 640,512 1920 PLOT 154,200,200 1930 MOVE 640,512 1940 PLOT 154,150,150 1950 MOVE 640,512 1960 PLOT 154,100,100 1970 VDU 5 1980 GCOL 0,1 1990 MOVE 50,50 2000 PRINT "Archery (c) David Bradforth 1993" 2010 GCOL 0,2:MOVE 60,60 2020 PRINT "Archery (c) David Bradforth 1993" 2030 VDU 4 2040 ENDPROC 2050 : 2060 DEFPROCboom 2070 VDU 22,2 2080 VDU 23;8202;0;0;0; 2090 TIME=0 2100 REPEAT 2110 X=RND(1500) 2120 Y=RND(1500) 2130 dia=RND(200) 2140 col=RND(7) 2150 IF col=1 THEN GOTO 2140 2160 GCOL 0,col 2170 MOVE X,Y 2180 PLOT 153,dia,dia 2190 UNTIL TIME>=400 2200 ENDPROC 2210 : 2220 DEFPROCrandommes 2230 VDU 5 2240 COLOUR 1 2250 A=RND(5) 2260 IFA=1 THEN PRINTTAB(0,0)"Who Was Dat???" 2270 IFA=2 THEN PRINTTAB(0,0)"Missed Again???" 2280 IFA=3 THEN PRINTTAB(0,0)"You Missed!!" 2290 IFA=4 THEN PRINTTAB(0,0)"Who Dunnit???" 2300 IFA=5 THEN PRINTTAB(0,0)"You hit it. NOT!!!" 2310 ENDPROC 2320 : 2330 DEFPROCrip:TIME=0:REPEAT UNTIL TIME=200 2340 VDU 22,1 2350 VDU 23;8202;0;0;0; 2360 COLOUR1:PRINT:PRINT "Re-Birth Certificate Required" 2370 COLOUR2:PRINT:PRINT "Name: Aunty Beeb" 2380 PRINT "Reason: Some Sick Person Shot an arrow at me during a game of Archery!!!" 2390 COLOUR1 2400 PRINT 2410 PRINT "Authorisation for Re-Birth by" 2420 PRINT " David Bradforth" 2430 PRINT " B.A.S.ick Doctor" 2440 VDU 5 2450 GCOL 0,1 2460 MOVE 150,150 2470 PRINT "Argghhh! You Got Me!!!" 2480 MOVE 170,170 2490 GCOL 0,2 2500 PRINT "Argghhh! You Got Me!!!" 2510 MOVE 100,100 2520 GCOL 0,1 2530 PRINT "I've got a ROUND feeling coming on!" 2540 MOVE 120,120 2550 GCOL 0,2 2560 PRINT "I've got a ROUND feeling coming on!" 2570 PROCboard 2580 TIME=0:REPEAT UNTIL TIME=200 2590 ENDPROC