CYPHER WbWW"C"  GRAHAM HILDYARD 15 1:7:1:  9000(# 23658j\,8 YSC=20:CSC=20 % 85004! (;"DO YOU WANT TO SEE THE INSTRUCTIONS (Y/N)? ";Q$ -Q$"Y"Q$"N"40( 0Q$="Y"8000@ 2B"HOW MANY GAMES DO YOU WISH TO PLAY THE MATCH OVER? (1-16)";GA 7"GA<1GA>16502 <0"HOW MANY PEGS DO YOU WISH TO USE(3,45)? ";PG A!PG<3PG>560< D#PG=5PG=39500% F "HOW MANY COLOURS (48)? ";COL K#COL<4COL>870F P>"HOW MANY GUESSES AT THE CODE WOULD YOU LIKE (48)? ";NOG U#NOG<4NOG>880P X4"DO YOU WISH TO BE TIMED FOR EACHGUESS (Y/N)? ";Q$ ZQ$"Y"Q$"N"88X \!Q$="N"TIME=1:100d _2"ENTER TIME LIMIT FOR EACH GUESS (10500) ";TIME b(TIME<10 TIME>50095_ d BOARD i'1:1:7: lPG=37;1;1,12 ;" ? ? ? ";2,12 ;" ";3,12 ;" ";4,12 ;" " nPG=47;1;1,12 ;" C O D E ";2,12 ;" ";3,12 ;" ";4,12 ;" " sPG=57;1;1,12 ;" C O D E ? ";2,12 ;" ";3,12 ;" ";4,12 ;" " xA=18 (2;"  "; PG=3"" !PG=4"" "PG=5"" (2;"  "; PG=3"" PG=4"" "PG=5"" A PG=57:1:107k,167:0,-8:81Q,0:0,8:108l,159:-12 ,-15:103g,0:-12 ,15 PG=47:1:107k,167:0,-8:65A,0:0,8:108l,159:-12 ,-15:87W,0:-12 ,15 PG=37:1:107k,167:0,-8:491,0:0,8:108l,159:-12 ,-15:71G,0:-12 ,15 B=5:C=3 A=161-1 'A<10 C=4:B,3;"0" B,C;A B=B+1:A ÌTIME17;1;1,28;"";1;2,28;" ";7;1;3,28;"" CODE TURN=0 C$(5) N=1PG 250+(*COL) N 300, C$(N)="B": C$(N)="W": C$(N)="R": C$(N)="Y": C$(N)="M": C$(N)="C":  C$(N)="G":  C$(N)="S": ,D$="BWRYMCGS":E$="^^^^^^^^" @0,0;D$(COL) J1,0;E$(COL) T$2,0;""; ^COL>4""; cCOL>5""; hCOL>6""; mCOL>7"" r$3,0;""; wCOL>4""; |COL>5""; COL>6""; COL>7""; MAIN LOOP TIME17;1;1,28;"";1;2,28;" ";7;1;3,28;"" TURN=TURN+1 G$(5):N=1 !F=15:G$(F)="S":F ?23672x\,0:23673y\,0:23674z\,0 LT()=((65536*23674z\+256*23673y\+23672x\)/TIME)  T1=T() >#0;1,0;"ENTER GUESS " TIME=15655 !A=T1/30* & SX=11 *A:SY=11 *A (T=T() +235,155:1;SX,SY:T60<#0;1,0;"TIMES UP !!":A=110 :.1}L,18:.1}L,15:A:780  0T=T() 5C""G$(N)=:#0;1,0;" ":575? 6TIME=1530 8TT15600 :~7;1;1,28;"";1;2,28;" ";7;1;3,28;"" =T1=T:530 ?U$="":V$="" D"G$(N)="W"PA=7:660 N"G$(N)="B"PA=0:660 X"G$(N)="R"PA=2:660 b.G$(N)="M"COL>4PA=3:660 l.G$(N)="G"COL>6PA=4:660 v.G$(N)="C"COL>5PA=5:660 "G$(N)="Y"PA=6:660 FG$(N)="S"COL=8PA=7:U$="":V$="":660 I#0;1,0;"INVALID COLOUR ENTERED":502:5600 5PX=22-(2*TURN):PY=12 +(2*N) 71;PA;PX,PY;U$;1;PA;PX-1,PY;V$  H$="1st" N=2H$="2nd" N=3H$="3rd" N=4H$="4th" N=5H$="5th" 8#0;1,0;H$;" PEG ENTERED.":502 N 495 MARK GUESS MARK=0:C1=0:C2=0:C3=0:C4=0:C5=0:G1=0:G2=0:G3=0:G4=0:G5=0 DG$(1)=C$(1)MARK=MARK+6:C1=1:G1=1 DG$(2)=C$(2)MARK=MARK+6:C2=2:G2=2 DG$(3)=C$(3)MARK=MARK+6:C3=3:G3=3  PG=31050 DG$(4)=C$(4)MARK=MARK+6:C4=4:G4=4 PG=41050 DG$(5)=C$(5)MARK=MARK+6:C5=5:G5=5 N=1PG C1=11090B $QG$(1)=C$(N)G1NG2NG3NG4NG5NMARK=MARK+1:G1=N:1090B 8N BN=1PG GC2=21130j LQG$(2)=C$(N)NG1G2NG3NG4NG5NMARK=MARK+1:G2=N:1130j `N jN=1PG oC3=31165 tQG$(3)=C$(N)NG1NG2G3NG4NG5NMARK=MARK+1:G3=N:1170 N PG=31250 N=1PG C4=41205 KG$(4)=C$(N)NG1NG2NG3G4NG5NMARK=MARK+1:1210 N PG=41250 N=1PG C5=51250 KG$(5)=C$(N)NG1NG2NG3NG4NG5MARK=MARK+1:1250 N  POSITION PEGS DPY1=24:PY2=25:PG=5PY1=26:PY2=28 BL=(MARK/6)  WH=((MARK/6)-BL)*6 BL=0IN=7 WH=0IN=0 PG=32200 4MARK=1MARK=6PX-1,PY1;IN;"" MMARK=2MARK=12 PX-1,PY1;IN;"";PX-1,PY2;IN;"" ]MARK=3MARK=18PX-1,PY1;IN;"";PX-1,PY2;IN;"";PX,PY1;IN;"" mMARK=4MARK=24PX-1,PY1;IN;"";PX-1,PY2;IN;"";PX,PY1;IN;"";PX,PY2;IN;"" SMARK=5MARK=30PX-1,26;IN;"";PX,26;IN;"" AMARK=7PX-1,PY1;0;"";PX,PY2;7;""  VMARK=8PX-1,PY1;0;"";PX,PY1;7;"";PX,PY2;7;"" sMARK=9 PX-1,PY1;0;"";PX-1,PY2;7;"";PX,PY1;7;"";PX,PY2;7;"" MARK=10 PX-1,26;7;" ";PX,26;7;" ";PX-1,27;0;"";PX,27;0;""  _MARK=13 PX-1,PY1;0;"";PX-1,PY2;0;"";PX,PY1;7;"" *tMARK=14PX-1,PY1;0;"";PX-1,PY2;0;"";PX,PY1;7;"";PX,PY2;7;"" 4jMARK=15PX-1,26;7;"";PX,26;0;" ";PX,27;7;"" >[MARK=19PX-1,26;0;"";PX,27;0;"";7;"" HjMARK=20PX-1,26;0;"";PX,26;7;" ";PX,27;0;"" f 2390V NMARK=1MARK=6PX-1,22;IN;"";PX,22;IN;"" QMARK=2MARK=12 PX-1,22;IN;"";PX,22;IN;"" SMARK=3MARK=18PX-1,22;IN;"";PX,22;IN;"" eMARK=7PX-1,22;0;"";7;"";PX,22;0;"";7;"" gMARK=8PX-1,22;0;"";7;"";PX,22;0;"";7;"" V CLEAR BOARD X=5192 /1;7;X,12 ;""; 6PG=51;7;"" "1PG=41;7;"" $,PG=31;7;"" '71;7;X+1,12 ;""; *,PG=31;7;"" ,3PG=41;7;"" 16PG=51;7;" " 4X 6;PG=47;1;1,14;"C O D E" :=PG=57;1;1,14;"C O D E ?" >9PG=37;1;1,14;"? ? ?" J DISPLAY CODE  I(5) N=1PG C$(N)="B"I(N)=0 C$(N)="W"I(N)=7 C$(N)="S"I(N)=7 C$(N)="R"I(N)=2 C$(N)="M"I(N)=3 C$(N)="G"I(N)=4 C$(N)="C"I(N)=5 C$(N)="Y"I(N)=6 4C$(N)"S"1,12 +(2*N);I(N);"" 4C$(N)="S"1,12 +(2*N);I(N);"" N    YOU WIN RW=(*6)+5100 RW #0;1,0;W$ .5,0:.5,2:.5,4:.5,5:.5,7:.5,9 :.5,11 :.5,12  502  W$="YOU WON THAT GAME": W$="YOU BEAT ME !": 'W$="YOU CRACKED THE CODE THIS TIME": W$="I LOST THAT ONE": "W$="ALL BLACK PEGS, YOU WIN !": W$="THAT'S A GAME TO YOU": pYOU LOSE zRL=(*6)+6100 RL #0;1,0;L$ .5,12 :.5,11 :.5,9 :.5,7:.5,5:.5,4:.5,2:.5,0  502  L$="I BEAT YOU THAT TIME": %L$="I WIN, BETTER LUCK NEXT TIME": (L$="THAT'S YOUR LAST GUESS, I WIN !": )L$="YOU LOSE ! YOU LOSE ! YOU LOSE !": L$="THAT GAME GOES TO ME !": (L$="I WIN, AND WITHOUT CHEATING TOO": XMATCH OVER b1YSC8,8;"   " ,9 ,8;"    " -10 ,8;"   " =11 ,8;"  " -12 ,8;"   " -13 ,8;"   " ?14,8;"  "  502  @INSTRUCTIONS J O'" " TE" INSTRUCTIONS FOR CYPHER" Y'" " ^: hy"CYPHER IS A GAME IN WHICH YOUR OPPONENT,THE COMPUTER,BUILDS A CODE FROM A NUMBER OF COLOURED PEGS OR BLANK SPACES." m: ro"YOU HAVE TO GUESS THE CODE THE COMPUTER HAS PICKED BY PUTTING COLOURED PEGS OR SPACES INTO THE BOARD." w: |"AFTER ENTERING YOUR GUESS, THE COMPUTER WILL GIVE YOU CLUES TO THE HIDDEN CODE BY INSERTING SMALL BLACK OR WHITE PEGS NEXT TO YOUR GUESS." "PRESS ENTER TO CONT.";Q$  "IF YOU GET A SMALL BLACK PEG, THIS MEANS THAT ONE OF THE PEGS IN YOUR GUESS IS THE RIGHT COLOUR,AND ALSO IT IS IN THE RIGHT PLACE." : }"IF YOU GET A SMALL WHITE PEG THEN ONE OF THE PEGS IN YOUR GUESS IS THE RIGHT COLOUR,BUT IT IS IN THE WRONG PLACE." : "E.G." '" CODE    " '"    " : 3" GUESS     " /"     " "PRESS ENTER TO CONT.";Q$  _"WHEN YOU START TO ACTUALLY PLAY CYPHER YOU WILL BE ASKED TO INPUT CERTAIN INFORMATION:-"  &" N.O. OF GAMES " 0"EACH MATCH IS PLAYED OVER A NUMBER OF GAMES (116). YOUR CURRENT SCORE IS SHOWN ON THE LEFT BY THE SMALL YELLOW PEG, THE COMPUTERS BY THE SMALL MAGENTA PEG." : D" N.O. OF PEGS " N]"THE NUMBER OF PEGS REFERS TO THE NUMBER OF ELEMENTS IN THE CODE AND IN YOUR GUESSES." X b" N.O. OF COLOURS " l"THIS IS THE NUMBER OF DIFFERENT COLOURED PEGS,INCLUDING A SPACE,THAT ARE USED IN THE CODE AND THAT MAY BE USED IN YOUR GUESS." v"PRESS ENTER TO CONT.";Q$ { " N.O. OF GUESSES " r"THIS REFERS TO THE NUMBER OF GROUPS OF PEGS WHICH YOU MAY INPUT IN A GAME WHEN TRYING TO FIND THE CODE."  " THE TIMER " p"THIS IS FOR WHEN YOU WISH TO HAVE A LIMITED AMOUNT OF TIME IN WHICH TO MAKE YOUR GUESS AT THE CODE." y"THE SMALL CLOCK IN THE TOP RIGHTHAND CORNER SHOWS YOU THE TIME REMAINING IN WHICH YOU MUST COMPLETE YOUR GUESS." "WHEN THE CLOCK COMPLETES ONE REVOLUTION YOUR TIME WILL BE UP AND WHATEVER YOU HAVE ENTERED WILL BE TAKEN AS YOUR GUESS. THE LOWER THE NUMBER YOU ENTER AS YOUR TIME LIMIT,THE LESS TIMEYOU WILL GET TO ENTER YOUR GUESS" "PRESS ENTER TO PLAY ";Q$  85004!  !4 TITLE !>U8,0;"        " !HJ9 ,0;"          " !RM10 ,0;"        " !\\11 ,0;"     " !fF12 ,0;"       " !pG13 ,0;"        " !zP14,0;"        " ! !WIN MATCH ! !:2,4;"    " !43,4;"    " !44,4;"    " !>5,4;"     " !66,4;"     " !47,4;"     " !R8,4;"    " !E13 ,4;"    " !;14,4;"      " !915,4;"      " !G16,4;"       " !;17,4;"      " !918,4;"      " !C19,4;"    " !A=1502 !B=*.25~ !C=*15 !B,C "A " " "MATCH LOST " "F2,4;"    " "=3,4;"       " "$@4,4;"       " ")N5,4;"    " ".>6,4;"       " "3=7,4;"       " "8<8,4;"      " "=A13 ,4;"     " "B<14,4;"      " "G915,4;"     " "L:16,4;"    " "Q917,4;"     " "V<18,4;"      " "[I19,4;"    " "`A=1502 "eB=*.25~ "jC=*-15 "oB,C "tA "v "y "~MATCH DRAWN "N3,2;"     " "@4,2;"       " "<5,2;"     " "L6,2;"     " ":7,2;"     " "@8,2;"       " "T9 ,2;"    " "S13 ,2;"       " "K14,2;"         " "E15,2;"        " "U16,2;"      " "E17,2;"       " "G18,2;"        " "I19,2;"       " "A=1502 ",B=*.25~:C=(*14)-7:B,C "A ": #'GRAPHICS #(a=144164 #2b=07 #<g:(a)+b,g #Fb:a #P #ZL3,15,63?,63?,127,127,255,255 #dQ192,240,252,252,254,254,255,255 #nQ255,255,254,254,252,252,240,192 #xL255,255,127,127,63?,63?,15,3 #G0,0,0,0,60<,66B,153,165 #G165,153,66B,60<,0,0,0,0 #H0,0,0,0,60<,126~,255,255 #H255,255,126~,60<,0,0,0,0 #G0,480,120x,120x,480,0,0,0 #G0,0,0,480,120x,120x,480,0 #E0,12 ,30,30,12 ,0,0,0 #E0,0,0,12 ,30,30,12 ,0 #E0,480,72H,72H,480,0,0,0 #E0,0,0,480,72H,72H,480,0 #E0,12 ,18,18,12 ,0,0,0 #E0,0,0,12 ,18,18,12 ,0 #E0,0,24,36$,36$,24,0,0 $E0,0,24,60<,60<,24,0,0 $O60<,126~,255,255,255,255,126~,60< $C0,0,0,0,0,0,24,36$ $"C36$,24,0,0,0,0,0,0 %A=152159 %&B=07 %0G:(A)+B,G %:B:A %D %SG0,0,96`,240,240,96`,0,0 %XG0,0,96`,240,240,96`,0,0 %]C0,0,6,15,15,6,0,0 %`C0,0,6,15,15,6,0,0 %bC0,0,0,0,0,0,24,60< %lC60<,24,0,0,0,0,0,0 %vA0,0,6,9 ,9 ,6,0,0 %G0,0,96`,144,144,96`,0,0 % 'Z(Z$)@)=(""+Z$+"+256*("+Z$+"+1)"):"FREE",Z("23730")-Z("23641")'"PROGRAM",Z("23627")-Z("23635")'"VARIABLES",Z("23641")-Z("23627")- (#2#gss