8-Bit Software Online Conversion

Amazed Knight. Game - Listing

10ONERRORMODE6:REPORT:PRINTERR" ON LI NE ";ERL:IF ERR=17 RUN 20 *KEY10 CHAIN"CHEAT"|M 30VDU23,253,85,84,92,92,190,190,182,1 82;23,254,160,96,32,32,32,32,32,32;23,25 5,182,182,182,162,162,162,162,162;23,243 ,8,28,28,28,28,54,119,99;23,249,32,32,32 ,32,32,32,32,32 40MODE4:VDU19,0,7,0,0,0:VDU19,1,0,0,0 ,0 50VDU5:GCOL0,1:MOVE800,850:VDU243;249 :MOVE800,820:VDU253;254:MOVE800,790:VDU2 55;249 60PROCassemble:VDU7:VDU23,243,66,66,6 6,102,24,24,24,60;23,244,25,17,63,57,57, 17,17,25;23,245,48,48,48,120,72,72,120,1 20 70VDU23,246,162,229,231,167,217,255,1 79,243;23,247,7,5,125,85,87,0,0,0;23,248 ,255,255,255,255,255,255,255,255;23,249, 152,136,252,156,156,136,136,152;23,250,1 6,40,68,68,130,170,130,146 80VDU23,251,248,248,216,136,216,248,1 12,32;23,252,24,36,66,24,60,90,153,24;23 ,253,25,25,63,89,153,61,37,37;23,254,126 ,255,219,255,231,255,66,66;23,255,60,60, 60,60,60,36,36,36 90 *FX11,10 100 *FX12,2 110 *FX213,81 120 *FX214,18 130MODE5 140 X%=540:Y%=50:VDU5:MOVEX%,Y%:GCOL0, 3:VDU253:key%=0:bo%=0:shi%=0:cas%=0:or%= 0:go%=0:gold%=0:F%=1:A%=0:PROCmap: *FX11 ,20 150 ?&42C=15:*FX12,4 160VDU5:MOVEX%,Y%:GCOL0,3:VDU253:REPEA T: V%=X%+(Y%*256) 165*FX21 170IFA%=0ANDcas%<4VDU5:MOVE515,525:GCO L0,0:PRINT"Prison":PROCmove:PROCno 180IFA%=0ANDcas%>3PROCmove:PROCelev 190IFA%=1ANDcas%=0PROCmove:PROCone 200IFA%=1ANDcas%>0VDU19,0,2,0,0,0:PROC move:PROCten 210IFA%<>1ANDcas%>0VDU19,0,0,0,0,0 220IFA%=2PROCmove:PROCtwo 230IFA%=3PROCmove:PROCthree 240IFA%=4PROCmove:PROCfour 250IFA%=5PROCmove:PROCfive 260IFA%=6PROCmove:PROCsix 270IFA%=8PROCmove:PROCate 280IFA%=7PROCmove:PROCsev 290IFA%=9PROCmove:PROCnine 300UNTILFALSE 310DEFPROCmap:CALL&900:VDU19,1,RND(7), 0,0,0:IFA%=2PROCcar(1040,360,3,228) 320A%=(A%)MOD10:ENDPROC 330DEFPROCassemble:map=&50:addr=&52:xc ount=&54:ycount=&55:index=&56:new=&70:VD U4:PRINTTAB(8,6)"AMAZED KNIGHT" :PRINTTA B(8,7)"by V.Horgan" :PRINT:PRINT"(The st ory so far)" 340PRINT" You are the Knight-errant Si r Guy Gormless setting out through the Muddled Maze to save the Lady Euphoria who is held captive in the dr eaded Maze Manor." 350PRINT"You have 15 Gold Coins - 1O f or the ransom and 5 for travelling e xpenses. You must collect 4 gold goble ts,3 from castles and one in Maze,befor e entry to the Manor" 360PRINT"In the Manor you must find th e Lady Euphoria ( a tall lady with s traggly hair) and hand over the ranso m." 370PRINT"The Manor is full of traps an d guards but also the means of getting past them.Do not tarry.Time in the Mano r costs Gold Coins.":PRINT 380PRINT"Use the Cursor 'arrows' for m ovement.If in difficulty consult the Ora cle.If in Prison press H to get out.(A gold coin is charged for this ' servi ce'(Bribe)." 390 PRINT"For further Help contact the Citizen's Advice Bureau by pressing BREAK":FORpass=0TO2STEP2:P%=&900:[ OPT p ass:SEI:ASL A:TAY:LDA table,Y:STA map 400LDA table+1,Y:STA map+1:LDA #&80:ST A addr :LDA #&5A:STA addr+1:LDY #0:ST Y index :LDY #10:STY ycount:.yloop:LD A addr+1:PHA:LDA addr:PHA:LDA #5:STA xco unt:.xloop:LDA addr:STA new:LDA addr+1:S TA new+1:LDY index:INC index 410LDA (map),Y:PHA:LSR A:LSR A:LSR A:L SR A :JSR print:LDA addr:ADC #4*8:STA ne w 420LDA addr+1:ADC #0:STA new+1:PLA:AND #&0F:JSR print:LDA addr:ADC #8*8:STA add r:LDA addr+1:ADC #0:STA addr+1 430DEC xcount:BNE xloop:PLA:ADC #(3*&1 40)MOD256:STA addr 440PLA:ADC #(3*&140)DIV256:STA addr+1 450DEC ycount:BNE yloop:CLI:RTS:.mult: EQUW 0:EQUW 1*96 460EQUW 2*96 470EQUW 3*96 480EQUW 4*96 490EQUW 5*96 500EQUW 6*96 510EQUW 7*96 520EQUW 8*96 530EQUW 9*96 540EQUW 10*96 550EQUW 11*96 560EQUW 12*96 570EQUW 13*96 580EQUW 14*96 590EQUW 15*96 600.print:ASL A:TAY 610LDA mult,Y:ADC #spritesMOD256 ½s et data:STA ploop+1:LDA mult+1,Y:ADC #sp ritesDIV256:STA ploop+2:LDX #3:.ploop1:L DY #31:.ploop:LDA &3000,Y:STA (new),Y:DE Y:BPL ploop:CLC:LDA new:ADC #&40:STA new :LDA new+1:ADC #&1:STA new+1 620LDA ploop+1:ADC #32:STA ploop+1:LDA ploop+2:ADC #0:STA ploop+2:.p1:DEX:BNE ploop1:RTS:.table:EQUW scr0:EQUW scr1:EQ UW scr2:EQUW scr3:EQUW scr4:EQUW scr5:EQ UW scr6:EQUW scr7:EQUW scr8:EQUW scr9:OP TFNscrdata: :.sprites:EQUSSTRING$(96,CHR $0) 630OPTFNsprdata:]:NEXT:PRINT"Press SPA CE to start":REPEATUNTILGET=32:ENDPROC 640DEFFNsprdata:RESTORE660:FORI%=0TO1* 4*24-1STEP4 650READa$:[ OPT pass:EQUDEVAL("&"+a$): ]:NEXT:=pass 660DATA0F0F0F0F,0F0F0F0F,0F0F0F0F,0F0F 0F0F,0F0F0F0F,0F0F0F0F,0F0F0F0F,0F0F0F0F ,0F0F0F0F,0F0F0F0F,0F0F0F0F,0F0F0F0F,0F0 F0F0F,0F0F0F0F,0F0F0F0F,0F0F0F0F,0F0F0F0 F,0F0F0F0F,0F0F0F0F,0F0F0F0F,0F0F0F0F,0F 0F0F0F,0F0F0F0F,0F0F0F0F 670DEFFNscrdata:RESTORE690:scr0=P%:scr 1=P%+50:scr2=P%+100:scr3=P%+150:scr4=P%+ 200:scr5=P%+250:scr6=P%+300:scr7=P%+350: scr8=P%+400:scr9=P%+450:FORK%=0TO1:FORY% =1TO50 :READa$:FORX%=1TO5 :[ OPT pass:EQ UBEVAL("&"+LEFT$(a$,2)) :]:a$=MID$(a$,3) :NEXT:NEXT:NEXT:=pass 680REMScreen 0 690DATA1111011111 700DATA1000000011 710DATA1010111011 720DATA1010101011 730DATA0010111000 740DATA1010000001 750DATA1011111101 760DATA1000011101 770DATA0011011000 780DATA1111011111 790REMScreen 1 800DATA1111011111 810DATA1111010001 820DATA1000000101 830DATA1010111101 840DATA0010110100 850DATA1010110101 860DATA1000110001 870DATA1011111111 880DATA1000011000 890DATA1111011111 900REMScreen 2 910DATA1111011111 920DATA1001000001 930DATA1000001101 940DATA1111101101 950DATA0011101100 960DATA1000100001 970DATA1110111101 980DATA1110011101 990DATA0000011000 1000DATA1111011111 1010REMScreen 3 1020DATA1111011111 1030DATA1110001111 1040DATA1000101111 1050DATA1011101111 1060DATA0010000000 1070DATA1010101011 1080DATA1010000111 1090DATA1011111111 1100DATA0000011000 1110DATA1111010111 1120REMMap 4 1130DATA1111011111 1140DATA1000000001 1150DATA1010101101 1160DATA1010101101 1170DATA0010101100 1180DATA1110101111 1190DATA1110101011 1200DATA1110101000 1210DATA0000001111 1220DATA1111011111 1230REMMap 5 1240DATA1111011111 1250DATA1111000001 1260DATA1000100101 1270DATA1110101101 1280DATA0000100100 1290DATA1110110101 1300DATA1010100101 1310DATA0000101101 1320DATA1111001001 1330DATA1111011111 1340REMMap 6 1350DATA1111011111 1360DATA1000000001 1370DATA1011011101 1380DATA1010010001 1390DATA0000110100 1400DATA1010000101 1410DATA1011101011 1420DATA1011101011 1430DATA1000001000 1440DATA1111011111 1450REMMap 7 1460DATA0000000001 1470DATA1110011111 1480DATA1111000000 1490DATA1011111111 1500DATA0001111100 1510DATA1010000001 1520DATA1111101011 1530DATA1111011101 1540DATA1111000000 1550DATA1111011111 1560REMMap 8 1570DATA1111011111 1580DATA1110010001 1590DATA1110110101 1600DATA1100110101 1610DATA0001100100 1620DATA1110001101 1630DATA1000111001 1640DATA1011111011 1650DATA0000011001 1660DATA1111011111 1670REMMap 9 1680DATA1111011111 1690DATA1111011111 1700DATA0000000001 1710DATA1111110111 1720DATA0000000000 1730DATA1111101101 1740DATA1111111101 1750DATA1111111101 1760DATA0000000001 1770DATA1111011111 1780DEFPROCmove: *FX4,1 1790 X=GET:IFX=136ANDPOINT(X%-60,Y%)<>1 PROCbounce(X%-120,Y%,249) 1800IFX=137ANDPOINT(X%+140,Y%)<>1PROCbo unce(X%+120,Y%,244) 1810IFX=139ANDPOINT(X%+25,Y%+50)<>1PROC bounce(X%,Y%+100,253) 1820IFX=138ANDPOINT(X%+25,Y%-100)<>1PRO Cbounce(X%,Y%-100,253) 1830IFX=72PROChelp 1840IFK%<9PROCclear:PROCfin:END 1850PROCscr:PROCnote:ENDPROC 1860DEFPROCno :PROCqu(RND(2)+1,900,850, "@"):IFV%=218500PROCpriso 1870IFbo%=0PROCcar(300,850,3,245) 1880IFkey%=0PROCcar(900,650,3,247) 1890IFV%=167300ANDkey%=0PROCcar(900,650 ,0,247):key%=1 1900IFV%=217900ANDbo%=0PROCcar(300,850, 0,245):bo%=1 1910PROCaccr(1260,0,60):PROCaccr(-60,1, 1140):PROCups(1050,0,50):PROCups(-50,1,9 50):ENDPROC 1920DEFPROCone:IFgold%<1PROCqu(2,900,15 0,"o") 1930PROCqu(RND(3),1020,750,"@"):IFV%=19 3020PROCpriso 1940PROCqu(RND(3),180,450,"@"):IFV%=115 380PROCpriso 1950PROCqu(3,1020,850,"?"):IFV%=218620P ROCbounce(180,550,253) 1960IFshi%<1PROCcar(780,350,3,251) 1970IFbo%<2PROCguard(1,420,550) 1980IFV%=90380PROCcar(780,350,0,251):sh i%=1 1990IFV%=192180PROCbounce(1020,350,253) 2000IFV%=115980PROCbounce(540,150,253) 2010IFV%=115620ANDbo%=1PROCguard(3,420, 550) 2020IFV%=39300ANDgold%<1 K%=K%+1:gold%= 1:PROCqu(0,900,150,"o"):VDU7 2030PROCups(-50,0,950):PROCaccr(1260,3, 60):PROCaccr(-60,1,1140):PROCups(1050,0, 50):ENDPROC 2040DEFPROCtwo: F%=2:PROCcar(180,850,3, 246):IFbo%<3PROCguard(1,340,770)ELSEIFbo %>3PROCguard(3,340,770) 2050IFV%=217780ANDkey%=1ANDshi%=1 cas%= 1:PROCnote:VDU7 2060IFbo%<4PROCcar(1020,150,2,245) 2070IFV%=39420PROCcar(1020,150,0,245):b o%=4 2080IFV%=90620ANDbo%=4PROCbounce(300,45 0,253) 2090PROCqu(RND(3),900,850,"@"):IFV%=218 500PROCpriso 2100PROCqu(RND(3),540,250,"@"):IFV%=645 40PROCpriso 2110PROCqu(RND(2),540,150,"@"):PROCups( -50,3,950):PROCups(1050,2,50):PROCaccr(1 260,3,60):PROCaccr(-60,2,1140):ENDPROC 2120DEFPROCthree:PROCqu(3,540,550,"?"): IFgold%<2PROCqu(2,900,150,"o") 2130IFbo%<2PROCguard(1,420,150) 2140IFor%<1PROCora(2,420,450) 2150IFor%=2PROCora(2,180,750):PROCqu(RN D(2)+1,660,850,"@") 2160PROCqu(RND(2),1020,550,"@"):IFV%=39 300ANDgold%<2 K%=K%+1:gold%=2:PROCqu(0,9 00,150,"o"):VDU7 2170IFV%=141340 or%=1:PROCora(0,420,450 ):PROCora(2,900,450) 2180IFV%=141700ANDor%=1PROCora(0,900,45 0):PROCora(2,420,450) 2190IFV%=90140PROCbounce(660,550,253) 2200IFV%=141940ANDor%=1 or%=2:PROCora(0 ,420,450):PROCora(2,180,750) 2210IFV%=218260ANDor%=2ANDbo%<2PROCpris o 2220IFV%=192180ANDor%=2ANDcas%=0 bo%=2: PROCmes(" E and S") 2230PROCaccr(-60,1,1140):PROCaccr(1260, 3,60):IFcas%=1PROCups(1050,1,50)ELSEPROC ups(1050,3,50) 2240PROCaccr(-60,1,1140):PROCups(-50,2, 950):ENDPROC 2250DEFPROCfour:VDU19,0,0,0,0,0:IFor%=3 PROCcar(180,850,2,245) 2260IFV%=217780ANDor%=3ANDcas%=9 or%=4: bo%=10:PROCcar(180,850,0,245) 2270 F%=3:PROCguard(1,420,350):IFkey%<4 PROCguard(1,1020,650) 2280IFbo%<5PROCcar(180,850,3,245) 2290IFV%=217780ANDbo%=4 bo%=5:PROCcar(1 80,850,0,245) 2300IFV%=64420ANDbo%=5PROCguard(0,420,3 50) 2310PROCqu(RND(3),420,650,"@"):IFV%=166 820ANDkey%<2PROCpriso 2320IFkey%<2PROCcar(420,450,3,247) 2330IFV%=115620 key%=2:PROCcar(420,450, 0,247) 2340IFkey%=2PROCcar(180,550,2,245) 2350IFshi%<2PROCcar(900,350,3,251):IFV% =90500 shi%=2:PROCcar(900,350,0,251) 2360IFV%=141460ANDkey%=4ANDshi%<2 bo%=6 :PROCmes("Lights On") 2370IFV%=140980ANDbo%=5 key%=3:PROCcar( 180,550,0,245) 2380IFV%=218500ANDkey%=3 key%=4:PROCgua rd(0,1020,650) 2390IFV%=167420PROCqu(3,660,550,"?") 2400IFbo%=8PROCcar(1020,850,3,245):IFV% =218620ANDcas%=8 bo%=9:PROCcar(1020,850, 0,245) 2410IFcas%>3PROCups(1050,9,50)ELSEPROCu ps(1050,4,50) 2420PROCaccr(-60,3,1140):PROCaccr(1260, 5,60):PROCups(-50,5,950):ENDPROC 2430DEFPROCfive: F%=3:PROCcar(780,450,3 ,246):IFshi%=2PROCcar(300,750,2,245) 2440IFshi%>1PROCqu(RND(2),180,350,"@"): PROCqu(RND(3),420,450,"@") 2450IFshi%=2ANDV%=89780PROCbounce(420,5 50,253)ELSEIFshi%=2ANDV%=115620PROCpriso 2460IFshi%<4PROCguard(1,660,650):IFgold %<3PROCqu(2,1020,150,"o") 2470IFgold%=3PROCguard(1,1020,850) 2480IFV%=192300ANDshi%=2 shi%=3:PROCcar (300,750,0,245) 2490IFV%=192660ANDshi%=3 shi%=4:PROCgua rd(0,660,650) 2500IFV%=141220ANDbo%<6VDU19,1,0,0,0,0 2510IFV%=39420ANDgold%<3 K%=K%+1:gold%= 3:PROCqu(0,1020,150,"o"):VDU7 2520IFV%=115980 cas%=2:VDU7:go%=0:PROCn ote 2530PROCaccr(1260,5,60):PROCaccr(-60,4, 1140):PROCups(-50,5,950):IFcas%=2PROCups (1050,1,50)ELSEPROCups(1050,5,50) 2540ENDPROC 2550DEFPROCsix:IFkey%=7PROCcar(1020,850 ,2,245) 2560IFV%=218620ANDkey%=7PROCcar(1020,85 0,0,245):key%=8:cas%=7 2570 F%=4:IFbo%<8PROCguard(1,420,550):I FV%=217900PROCbounce(1020,550,253) 2580PROCcar(420,650,3,246):PROCqu(RND(3 ),540,650,"@"):IFV%=166940PROCpriso 2590IFkey%<5PROCcar(900,350,3,247) 2600IFV%=90500 key%=5:PROCcar(900,350,0 ,247) 2610IFV%=141100ANDshi%=5PROCguard(0,420 ,550):bo%=8 2620IFV%=166820ANDshi%=5ANDkey%=5 cas%= 3:VDU7:PROCnote 2630IFcas%=3PROCcar(900,350,2,243) 2640IFV%=90500ANDcas%=3PROCcar(900,350, 0,243):cas%=4:PROCnote 2650IFY%=1050ANDcas%<4PROCbounce(300,85 0,253)ELSEIFY%=1050ANDcas%>3PROCups(1050 ,0,50) 2660PROCaccr(-60,8,1140):PROCaccr(1260, 8,60):PROCups(-50,8,950):ENDPROC 2670DEFPROCate:IFgold%<4PROCqu(2,1020,1 50,"o") 2680IFshi%<5PROCcar(900,850,3,251) 2690IFV%=39420ANDgold%<4 K%=K%+1:gold%= 4:PROCqu(0,1020,150,"o"):VDU7 2700IFgold%=4PROCqu(RND(3),660,450,"@") 2710IFV%=115860ANDgold%=4ANDshi%<5PROCp riso 2720IFV%=90620ANDgold%>3PROCbounce(540, 150,253) 2730IFV%=218500 shi%=5:PROCcar(900,850, 0,251) 2740IFbo%<7PROCcar(420,650,3,245):IFV%= 166820ANDshi%=5 bo%=7:PROCcar(420,650,0, 245) 2750IFV%=89780ANDcas%=3PROCbounce(1020, 850,253) 2760PROCaccr(1260,8,60):PROCaccr(-60,6, 1140):PROCups(1050,6,50):PROCups(-50,6,9 50):ENDPROC 2770DEFPROCsev: F%=5:VDU20:VDU5:GCOL0,3 :MOVE700,800:PRINT"Manor":MOVE750,250:PR INT"+++":PROCcar(800,350,2,250) :IFca s%<9PROClad(3,780,450) 2780IF shi%<6PROCcar(1020,250,3,251) 2790IFshi%<7PROCcar(540,250,2,251) 2800IFV%=65020PROCcar(1020,250,0,251):s hi%=6:TIME=0 2810IFV%=64540ANDshi%=6PROCcar(540,250, 0,251):shi%=7 2820IFV%=116100ANDcas%<9PROCbounce(900, 350,253):PROClad(0,780,450):cas%=9:PROCq u(RND(3),660,350,"@"):VDU7 2830IFV%=90260PROCpriso 2840IFcas%>8PROCora(2,420,850):PROClad( 3,300,550) 2850IFV%=192660ANDor%<5PROCbounce(1140, 750,253):VDU7 2860IFV%=218020ANDor%=5 or%=6:PROCmes(" N then E") 2870IFV%=140980PROCclear:VDU26:PROCwin: END 2880PROCaccr(1260,9,60):PROCups(-50,6,9 50):PROCups(1050,9,50):ENDPROC 2890DEFPROCnine:IFbo%<9PROCguard(1,1020 ,450) 2900IFbo%<10PROCguard(1,440,770) 2910IFor%<3PROCqu(RND(2),1020,750,"@") 2920IFV%=193020 or%=3:PROCqu(0,1020,750 ,"@") 2930IFshi%>6ANDgold%<5PROCqu(2,1020,750 ,"o") 2940IFV%=193020ANDgold%<5ANDshi%>6 K%=K %+1:gold%=5:PROCqu(0,1020,750,"o"):VDU7 2950MOVE60,550:GCOL0,2:PRINT"?":IFV%=14 0860ANDshi%<7PROCpriso 2960IFV%=192300ANDor%=4PROCqu(RND(2),66 0,450,"@") 2970IFV%=115860ANDor%=4 or%=5:PROCqu(0, 660,450,"@") 2980IFor%<6PROCaccr(1260,9,60) 2990IFor%>5PROCaccr(1260,7,60) 3000PROCups(-50,4,950):PROCaccr(-60,7,1 140):PROCups(1050,7,50) :ENDPROC 3010DEFPROCten:PROCqu(RND(2),180,750,"@ "):PROCora(3,780,550):IFgo%<4PROCguard(1 ,550,900) 3020PROCqu(RND(3),1020,750,"@"):IFV%=19 3020PROCpriso 3030IFV%=192180ANDgo%=0PROCguard(1,180, 550):go%=1 3040IFV%=90380ANDgo%<3PROCguard(1,780,4 50):go%=2 3050IFV%=192180ANDgo%=2PROCguard(1,540, 750):PROCguard(0,550,900):go%=3 3060IFgo%=3PROCguard(1,780,750) 3070IFV%=141580ANDgo%=3 go%=4 3080IFcas%>1PROCups(-50,5,950)ELSEPROCu ps(-50,3,950) 3090IFcas%>1PROCups(1050,6,50)ELSEPROCu ps(1050,4,50) 3100PROCaccr(-60,1,1140):PROCaccr(1260, 1,60):ENDPROC 3110DEFPROCelev:IFcas%<8PROCguard(1,540 ,950) 3120IFkey%=5PROCcar(900,150,2,245) 3130IFcas%=5PROCguard(1,180,650) 3140IFcas%<7PROCguard(1,420,650) 3150IFV%=39300 key%=6:PROCcar(900,150,0 ,245):cas%=5 3160IFkey%=6PROCcar(300,850,2,245) 3170IFV%=89780ANDcas%=5 cas%=6:PROCguar d(0,180,650) 3180IFV%=217900ANDkey%=6PROCcar(300,850 ,0,245):key%=7:PROCbounce(660,450,253) 3190IFV%=218140ANDcas%=7PROCguard(0,540 ,950):cas%=8 3200PROCups(-50,6,950):PROCaccr(1260,0, 60):PROCaccr(-60,0,1140):PROCups(1050,7, 50):ENDPROC 3210DEFPROCaccr(q%,r%,s%):IFX%=q% A%=r% :PROCmap:PROCbounce(s%,Y%,253) 3220ENDPROC 3230DEFPROCups(q%,r%,s%):IFY%=q% A%=r%: PROCmap:PROCbounce(X%,s%,253) 3240ENDPROC 3250DEFPROCmes(me$):VDU7:VDU4:VDU28,10, 3,19,2:COLOUR129:CLS:COLOUR0:PRINTme$:VD U5:ENDPROC 3260DEFPROCguard(c%,x%,y%):GCOL0,c%:MOV Ex%,y%:VDU254:MOVEx%,(y%-30):VDU248:ENDP ROC 3270DEFPROCora(c%,x%,y%):GCOL0,c%:VDU5: MOVEx%,y%:VDU250:MOVE(x%-5),y%-30:VDU243 :ENDPROC 3280DEFPROClad(c%,x%,y%):GCOL0,c%:MOVEx %,y%:VDU252:MOVEx%,y%-30:VDU255:ENDPROC 3290DEFPROChelp: K%=K%-1:IFF%=1 A%=0:PR OCmap:PROCbounce(540,150,253)ELSEIFF%=2 A%=2:PROCmap:PROCbounce(660,650,253)ELSE IFF%=3 A%=4:PROCmap:PROCbounce(540,150,2 53)ELSEIFF%=4 A%=6:PROCmap:PROCbounce(54 0,150,253) 3300ENDPROC 3310DEFPROCbounce(x%,y%,cr%):GCOL0,0:MO VEX%,Y%:VDU248 : X%=x%:Y%=y%:GCOL0,3:MOV EX%,Y%:VDUcr%:ENDPROC 3320DEFPROCqu(c%,x%,y%,a$) :VDU5:GCOL0, c%:MOVEx%,y%:PRINTa$:ENDPROC 3330DEFPROCpriso: A%=0:PROCmap:PROCboun ce(660,650,253):VDU7:ENDPROC 3340DEFPROCcar(x%,y%,c%,f%) :VDU5:MOVEx %,y%:GCOL0,c%:VDUf% :ENDPROC 3350DEFPROCnote:VDU4:VDU28,1,31,6,30:CO LOUR129:CLS:COLOUR0:IFcas%=1PRINTCHR$243 3360IFcas%=2PRINTCHR$243;CHR$243 3370IFcas%=3PRINTCHR$243;CHR$243;CHR$24 3 3380IFcas%=4PRINTCHR$243;CHR$243;CHR$24 3;CHR$243 3390VDU5:ENDPROC 3400DEFPROCclear:CLS:VDU19,128,131,0,0, 0:VDU19,3,4,0,0,0:VDU7:ENDPROC 3410DEFPROCfin:PRINTTAB(1,1)"Finito Sir Guy!":PRINT"You have been rash":PRINT"w ith the cash and":PRINT"have not enough to":PRINT"pay the ransom.":PRINT:PRINT"P ress SPACE for" :PRINT"another attempt." 3420 PRINT:PRINT"(Psst! Sir Gormless":P RINT"-a word in your ear":PRINT"If you g et fed up":PRINT"bouncing back from":PRI NT"that ugly Oracle in":PRINT"the Manor, then try":PRINT"LISTING the whole" 3430 PRINT"program and":PRINT"deleting the PROC":PRINT"bounce command":PRINT"re sponsible.!":PRINT"Clever,eh?)":REPEAT U NTIL GET=32 3440 CLS:VDU20:GOTO 140:ENDPROC 3450DEFPROCscr: V%=X%+(Y%*256) 3460VDU4:VDU28,0,3,6,1:COLOUR129:CLS:CO LOUR0 : @%=&00002:PRINT"Coins":PRINT" "; K%:IFshi%>5VDU28,11,31,19,30:COLOUR129:C LS:COLOUR0 3470 @%=&20103 :IFshi%>5PRINTTIME/6000" min" 3480IFTIME>6000ANDshi%>5 K%=K%-1:TIME=0 :VDU7 3490ENDPROC 3500DEFPROCwin:VDU4:@%=&00002:PRINTTAB( 2,5)"Congratulations!":PRINT:PRINT"You h ave done it" :PRINT:PRINT"with ";K%-10" coins to":PRINT:PRINT"spare making you a " :PRINT:PRINT"Grade ";K%-10" Knight":PR INT:PRINT"(On the financial" 3510 PRINT:PRINT"scale!":ENDPROC