P705 CEEFAX 705 Sat 16 Apr 17:21/32  MALLORY Age: 8+ "Mallory" is a classic "whodunnit" program based on a crime which has been committed at "Mallory Castle". The suet must interpret the clues correctly to discovjt the culprit. The program aims to develop an ability to make logical deductions from given information and to develop language skills. Instructions for use are included in the program, with prompts given at the appropriate times. The program selects a different crime and set of clues at random each time it is used. Program follows
P705 CJEFAX 705 Sat 16 Apr 17:18/01 |B2111B|a37MALLORY10831:03/83|i24BBBC316 k|s÷#1÷e|s÷Z0 1REM MALLORY / An educational adventure game 2REM Microelectronics Education Pro gramme 3REM MICROPRJMER Software 4REM (c * CIT 1983 5RJM Author / programmer: Ani ta Sttakjt 6REM Version 0.9 / 5 February 1983 9REM Works with BBC Micro (model B 10GOS.20000:REM* INITIALISE 15ONERR.G. 4140 20GOS.8000:REM* TITLE 30MO.7:V.23;1 2,0;0;0;0 35CLS:PROCBIGST("It is the wee kind at Mallory Manor.",0,5,W$):P. 40PRO CPRINTX"A "+Y$(Y%)+" has vanished... ",9 ) 50PROCBIGST("Please wait, the police a re coming.",0,Y,G$) 60PROCSETUP1 65PROCT UNI(8,5) 7pPROCSETUP2 75SO.1,0,0,0:SO.2, 0,0,0:SO.3,0,0,0 80R=1:found=0 100CLS:PR OCBIGST("You are in the"+G$+R$(R)+".",0, 1,W$) 11pF.I=1TO12:IFW(I)<>R TH.500 120P ROCBIGST(N$(I)+","+W$+"the"+R$+C$(I)+"," +W$+"is there.",0,5,R$) 130X=ABS(X(I)):Z $=b(hj"+R$+C$(I)+W$+"says: '"+A$(I)+" I was in the "+R$(X)+" at the time " 14|c0
P705 CEEFAX 705 Sat 16 Apr 17:28/29 |B2121B|a37MALLORZ1p831:03/83|i24BBBC316 k|s÷#1÷i|s÷Z0 0A$="with thjb:IFI=M%A.Z%=0TH.400 150F=0 :F.J=1TO12:IFI=J TH.170 160IFX=X(J)Z$=Z$ +A$+G$+C$(J):A$=W$+"and the":F=1 170N. 1 80IFF>0TH.410 190IFI=M%A.Z%>0Z$=Z$+A$+G$ +C$(Z%):G.410 400Z$=Z$+"bz myself" 410Z$ =Z$+"."+W$+" " 420S%=S(I):IFS%=M%Z$=Z$+" Maybe someone broke in":G.450 430IFABS(X (S%))=X Z$=Z$+"I don't know who could ha ve done it":G.450 440Z$=Z$+"I suspect th e"+R$+C$(S%) 450Z$=Z$+". "+W$+B$(I)+"' " 460PROCPRJNT(Z$,9):GOT.1200:PROCCLS(5) 500N.I 510IFR*<>R TH.600 520found=1:Z$=" Well done,"+B$+K$(K%)+","+W$+"you have f ound the "+Y$(Y%)+"a ":PROCPRJNT(Z$,5):G OS.1200:PROCCLS(5) 600PROCBIGST("You can make an"+Y$+"arrest"+W$+"or go to the:" ,0,5,W$) 610Y=5:M$=M$(R):L=LEN(M$):EFL>8 XX=2EL.XX=10 615F.I=1TOL:J=ARC(M.M$,I,1) )-64:Y=Y+2:PROCBIGST(R$(J),XX,Y,Y$):EFL> 8A.I=INT(L/2)+1XX=22:Y=5 617N. 620PROCBI GUT(K$(K%)+","+W$+"your choice: ",0,|c0
P705 CEEFAX 705 Sat 16 Apr 17:20/46 |B2131B|a37MALLOR 10831:03/83|i24BBBC316 k|s÷#1÷i|s÷Z0 23,B$):fl=1:W$=Y$:GOT.7000:W$=CHR$135 63 0IFLEN(IN$)<3PROCCLS(23):G.620 640X$=LE. IN$,3):IFX$="arr"TH.700 650flag=0:F.I=1T OLEN(M$):J=ARC(M.M$,I,1))-64:IFLE.R$(J), 3)=X$R=J:flag=1:I=LEN(M$) 660N.:IFflag=1 TH.100EL.PROCCLS(23):G.620 700PROCCLS(5) :PROCPRJNT( Ve y well,"+B$+K$(K )+","+W$ +"you have decided to arr t the.. ",5) 710fl=0:W$=R$:GOT.7000:W$=CHR$135:IFLEN (IN$)<3TH.700 720A$=LE.IN$,3):flag=0:F.I =1TO12:IFA$<>L .C$(I),3)TH.790 725PROCBI GUT(C$(I),XX-1,YY-1,R$) 730IFI=M%flag=1E L.flag=2 740Q=I:I=12 790N.:IFflag=0TH.PR OCCLS(5):G.600 8 0ONflag G.4000,900 900K =K +1:JFK)>4TH.4000 910PROCPRINT("Idiot ! It's not th "+R$+C$(Q)+ ."+W$+" You ar e d noted to"+B$+K$(K%)+"."+W$+" Try aka in to find the thief! ",14) 920GOS.1200: PROCCLS(5):G.600 999REM* Y/N 1000*FX 15, 1 1 20KS=GET:IFKS>90TH.KS=KS-32 1030Q=-1 *(KS=ARC "Y ))-2*(KS=ARC("N")):IFQ>0T|c0
P705 CEEFAX 705 Sat 16 Apr 17:21/14 |B2141B|a37MALLORY10831:03/83|i24BBBC316 k|s÷#1÷i|s÷Z0 H.R. EL.1000 1099REM*PAUSE 1100DEFPROCWA IT(T* 1110G=INKEY(1p0*T):E. 1199REM* SPA CE 1200P.TAB(7,24)CHR$157G$"Press the SP ACE bar "CHR$156; 1210*FX25,1 1215REP.: S$=GE.:U.K$=" " 1220R. 1499REM* CLEAR TO END OF LINE 1500XC=POT:YC=VP.:P.STRI.40 ," ")TABXXC,YC);:R. 3999REM* END 4000CLS :D=6:JFK%>4PROCPRJNT("You fool,"+B$+K$(K *-1)+"."+W$+" Thanks to your stupidity t hj"+R$+C$(M%)+","+W$+"the thief, got awa y! You are dismissed from the police fo rce! ",D):G.4130 4010Z$="Excellent,"+B$+ K$(K%)+"."+W$+" Another criminal goes be hind bars. ":IFfound=1Z$=Z$+"You found the missing "+Y$(Y%)+b too. ":K)=K%+(K% >1):D=5:CLS 4015Z$=Z$+"You are promoted to"+B$+K$(K)-1)+"."+W$+" Keep up the goo d work! " 4p20PROCPRINT(Z$,D) 4130GOS.12 00 414p*FX 4,0 4145*FX 12,0 4150G.31000 4999REM* TUNE 5000DEFPROCTUNE(N%,L%) 501 0LOC.I% 5020F.mum%=1TO(N%) 5030RES.51|c0
P705 CEEFAX 705 Sat 16 Apr 17:23/38 |B2151B|a37MALLORZ10831:03/83|i24BBBC316 k|s÷#1÷i|s÷Z0 30 504pRJADnonote% 5050F.I%=1TOnonote% 5 060READpitch%,length% 5070SO.1,-L%,0,0:S O.2,-L%,0,0:SO.3,-L%,0,0 5080SO.1,-L%,pi sch%,length%*3:SO.2,-L%,pitch%+48,length **3:SO.3,-L%,pitch%+96,length%*3 5085L%= L%+1 5090N.I% 5110N.mum* 5120E. 5130D.2, 85,2,57,2 6999REM* BIG INPUT 7000*FX15,1 7p05XX=POT-1:YY=VP.:IN$="":LI=0:V.23;11 ,255;0;0;0 7010GOS.7200:IFG=127ORG=13TH. 7010 7015IFfl=1TH.G=G+32 7030IN$=CHR$(G) :LI=1:PROCBIGST(IN$,XX-1,YY-1,W$) 7040GO S.7200:IFG=13TH.7300 7060IFG<>127TH.7100 7070LI=LI-1:IFLI>-1TH.IN$=LE.IN$,LEN(IN $)-1[ 707uPROCBIGST(IN$+" "+CHR$8,XX-1,Y Y-1,W$):IFLI=pTH.7010EL.7p40 71p0IFG>64T H.G=G+32 7110IN$=IN$+CHR$(G):LI=LI+1:PRO CBIGST(INd,XX-1,YY-1,W$):G.7040 7200GC=0 7210G=INKEY(60):GC=GC-(LI>0):IFG=13ORG= 127TH.R. 7220IFLI=3TH.7260 7240IFG>96TH. G=G-32 7250IFG>=LO A.G<=HI TH.R. 7260IFG C>14TH.GC=0 7270G.7210 7300V.23;11,0;|c0
P705 CEEFAX 705 Sat 16 Apr 17:23/48 |B2161B|a37MALLORY10831:03/83|i24BbBC316 k|s÷#1÷i|s÷Z0 0;0;0:R. 7999REM* TITLE 8000TL$=R$+"Mall ory Manor" 8005*FX 4,1 8006*FX 11,0 801p MO.7:V.23;11,0;0;0;0 8p2pP.TAB(12,7)CHR$ 241TL$TBB(12,8)CHR$141TL$ 8090P.TAB(12,1 3)"By Anita Strakjt" 8100PROCBIGST("Rule s? Press"+R$+"Y"+W$+"for yes,"+R$+"N"+W $+bfor no.",2,20,W$):GOT.1000:IFQ=2TH.R. 8999REM* RULES 9000CLS 9005PROCPRINT("T here's been a robbery at the Manor. You r job,"+B$+"Superintendent,"+W$+"is to f ind the stolen goods and the thief. ",0) :PROCPRJNT("The Manor has 25 rooms, and 12 people are in residence. ",9) 9010PRO CPRJNT("Whoever it is will be sure to gi ve away some clues, but no one ever susp ecus the real thief. ",15):GOT.1200:CLS: PROCBIGST("You will need to use your not ebook! ",0,2,R$) 9015PROCPRJNTX"NOTE: Wh en you are playing you need only type th e first three litters of any room or per son, e.g. type ",5) 902pPROCBIGST("Ki|c0
P705 CEEFAX 705 Sat 16 Apr 17:28/00 |B2171B|a37MALLORZ10831:03/83|j44BBBC316 W|s÷#1÷e|s÷Z0 t"+W$+"for"+R$+"Kitchen",10,15,R$):PROCB IGST("Gar"+W$+"for"+R$+"Gardener",10,18, R$):PROCBIGST("Arr"+W$+"for"+R$+"Arrest" ,10,21,R$) 9500GOS.1200:R. 10000DEFPROCS ETUP1 10010F.I=1TO25:M$(I)="":N.:I=1 100 20J=RND(24)+1:IFM$(J)=""TH.PROCSWAP:I=J: G.10020 10030FLAG=0:F.I=1TO25:IFM$(I)<>" "TH.10050 10040J=RND(25):IFM$(J)=""TH.10 040 10045FLAG=1:PROCSWAP:I=25 10050N.:IF FLAG=1TH.10030 10060F.I=1TO25:IFLEN(M$(I ))>1TH.10100 10070F.J=I+1TO25:IFLEN(M$(J ))>1TH.1p090 10080PROCSWAP 10090N. 10100 N. 10110E. 10500DEFPROCSWAP 10510M$(J)=M $(J*+CHR$(I+64):M$(I)=M$(I)+CHR$(J+64):E . 11000DEFPROCSETUP2 11010F.I=1TO12:W%=R ND(25) 11p2pX*=RND(25):IFX =R%TH.11020 1 1030W(I)=W%:X(I)=X%:N. 11040M%=RND(12):X (M%)=0:X=R* 11050Z%=0:G%=RND(3):ONO%G.11 200-11300,11100 11100FLAG=0:F.I=1TO11:X= X(I):F.J=I+1TO12:IFX=X(J)FLAG=1:I=11:J=1 2 11110N.:N.:IFFLAG=1TH.11300 11200FL|c0
P705 CEEFAX 705 Sat 16 Apr 17:26/28 |B2181B|a37MALLORZ10831:03/83|i24BBBC316 k|s÷#1÷e|s÷Z0 AG=p:Z%=1:X=RND(25):F.I=1TO12:IFX(I)=X F LAG=1:I=12 11210N.:IFFLAG=1TH.11300 1122 0Z%=RND(12):IFM)=Z%TH.11220 11300PROCI:E . 11500DEFPROCI 11510X(M%)=-X:F.K=1TO12: S(K)=RND(12):N.:E. 12000DEFPROCPRINT(REM P$,YY) 12010col$=W$:LIN$="":SPACE=39:F.L I=1TOLEN(TEMP$) 12015S$=M.TEMP$,LI,1):S= ARC(S$) 12020IFS<>32A.S<129WORD$=WORD$+S $:G.12500 12030IFSPACE<=LEN(WORD$)+1TH.P ROCBIGST(LIN$,0,YY,col$):col$=COL$:SPACE =39:LIN$="":YY=YY+3 12040LIN$=LIN$+WORD$ +S$:SPACE=SPACE-(LEN(WORD$)+1):WORD$="": IFS=32COL$=W$EL.COL$=S$ 12500N.:PROCBIGS T(LIN$,0,YY,col$):Y=YY+5:E. 13000DEFPROC CLS(D%) 1301pV.28,0,24,39,D%,12,26 13020 E. 18000DEFPROCBIGST(AA$,XX,YY,CONTROL$) 18010P.TAB(XX,YY)DH$CONTROL$AA$:P.TbB(X X,YY+1)DH$CONTROL$AA$; 18020E. 19000D.di amond tiara,pair of gold cuff-links,stri ng of pearls,pair of silver candlesticks ,ruby and emerald brooch,collection o|c0
P705 CEEFAX 705 Sat 16 Apr 17:20/48 |B2191B|a37MALLORZ10831:03/83|i24BBBC316 k|s÷#1÷e|s÷Z0 f gold coins,sapphire ring,platinum brac elet,pile of —10 notes,jewelled casket,g old watch,large silver plate 19010D.Chie f-Superintendent,Superintendent,Inspecto r,Sergeant,Constable 19020D.hall,living room,dining room,kitchen,billiard room,c loakroom,bathroom,nursery,conservatory,s tables,attics,cellars,laundry,library,mu sic room,study,pantry,scullery,greenhous e,garage,coach house 19030D.swimming poo l,front bedroom,back bedroom,small bedro om 19050D.Fergus,Butler,I'm afraid I ono w nothing.,Most regrettable. 19060D.Mrs Beeton,Cook,"Don't know a thing, my dear .",Such a shame. 19070D.Mr Rose,Gardjnjr ,"'ill, it beats mj.",It's very strange. 19080D.Doris,Maid,It's evjt so surprise ng.,I think it's scary. 19090D.George,Ch auffeur,I njvjt saw a thing.,It makes yo u wonder. 19095D.Brenda,Nanny,Thank good mess the children are out.,It makes m|c0
P705 CEEFAX 705 Sat 16 Apr 17:26/52 |B21A1B|a37MALLORZ10831:03/83|i44BBBC316 k|s÷#1÷i|s÷Z0 e shivjt. 19100D.Sir William,Brigadier,A wkward business this is.,Very bothersome . 19110D.Lady Chjstet,Duchess,Goodness g racious!,How did it happen? 19120D.Howar d Grant,Writer,It really is very mysteri oks.,I don't like it. 19130D.Gloria Mill s,Actress,I feel it's so exciting!,How d ramatic though. 19140D.Linda Ewing,Model ,How could anyone do such a thing?,It's vjty unfortunate. 19150D.Giles Weale,Arc detect,What a dreadful thing to happen., Most puzzling. 19999REM* INITIALISE 2000 0LO=64:HI=90 20010DIMM$(25),Y$(12),K$(4) ,R$(25),N$(12),C$(12),A$(12),B$(12),W(12 ),X(12),S(12) 20050R$=CHR$130:G$=CHR$129 :W$=CHR$135:DH$=CHR$141:Y$=CHR$131:B$=CH R$132 20090RES.19000 20100F.K=1TO12:READ Y$(K):N.:Y%=RND(12):F.K=0TO4:READS$(S):N .:K%=1 20110F.K=1TO25:READS$(K):N.:R%=RN DX24)+1 20120F.K=1TO12:READN$(K),C$(K),A $(K),B$(K):N. 20990R. 31000MO.7:P."EN|c0
P705 CJEFAX 705 Sat 16 Apr 17:27/10 |B21B1B|a37MALLORZ10831:03/83|i24BBBC316 k|s÷#1÷e|s÷Z0 D OF GAME":END |c0