1 'Model 100 Mastermind Game 2 'by Larry Knock [72106,1051] 3 'Roseburg, OR 4 DEFSTRA-H,K:DEFINTL-Z:E=CHR$(27)+"p":F=CHR$(27)+"q" 5 CLS:PRINT@14,E+" MASTERMIND "+F:PRINT@83,"Advanced or Basic Game (A/B)? "; 6 K=INPUT$(1):IFK<>"a"ANDK<>"b"THEN6ELSEPRINTK 7 S=ABS(K="a"):PRINT@163,"Duplicate Colors Allowed (Y/N)? "; 8 K=INPUT$(1):IFK<>"y"ANDK<>"n"THEN8ELSEPRINTK 9 R=ABS(K="y"):PRINT@243,"Blank Holes Allowed (Y/N)? "; 10 K=INPUT$(1):IF K<>"y"ANDK<>"n"THEN10ELSEPRINTK 11 P=ABS(K="y") 12 GOSUB50 13 CLS:FORY=1TOS*2+10 14 FORN=1TO5:G(N)="":B(N)="":C(N)=A(N):NEXT 15 GOSUB38:IFK=A(0)THEN30 16 FORN=1TOS+4:G(N)=MID$(K,N,1):NEXT 17 V=1:FOR N=1TOS+4:IFG(N)=C(N)THENB(V)="X":V=V+1:C(N)="Z":G(N)="Z" 18 NEXT 19 FORN=1TOS+4:IFG(N)="Z"THEN23 20 FORW=1TOS+4:IFC(W)="Z"THEN22 21 IFG(N)=C(W)THENB(V)="O":V=V+1:C(W)="Z":GOTO23 22 NEXTW 23 NEXTN 24 D=STR$(Y):IFY>9THEND=RIGHT$(D,2) 25 T=(Y+((Y>S+5)*(S+5))-1)*40:Q=ABS(Y>(S+5)) 26 PRINT@T+Q*20,D;" ";K;" ";:FORV=1TOS+4:PRINTB(V);:NEXT 27 IFY=S*2+10THEN29 28 NEXTY 29 PRINT@240,"SORRY --- YOU LOST. The code was: ";A(0);:GOTO35 30 FORV=1TOS+4:B(V)="X":NEXT 31 D=STR$(Y):IFY>9THEND=RIGHT$(D,2) 32 T=(Y+((Y>S+5)*(S+5))-1)*40:Q=ABS(Y>(S+5)) 33 PRINT@T+Q*20,D;" ";K;" ";:FORV=1TOS+4:PRINTB(V);:NEXT 34 PRINT@240,E+" ****CONGRATULATIONS --- YOU WIN**** "+F; 35 PRINT@281,"Quit, Play Again, or Reset (Q/P/R)? ";:K=INPUT$(1):IFK="q"THENMENU 36 IFK="p"THEN12 37 IFK="r"THEN5ELSEGOTO35 38 PRINT@280,SPACE$(39);:PRINT@288,"Enter Next Guess: "; 39 K="":FORM=1TOS+4 40 H=INKEY$:IFH=""THEN40 41 Z=POS(0):PRINT@240,SPACE$(39);:PRINT@Z,""; 42 IFASC(H)=8THEN47 43 IFH="b"ORH="g"ORH="o"ORH="r"ORH="w"ORH="y"THEN46 44 IFP=1ANDH=" "THEN46 45 IFS=1AND(H="p"ORH="s")THEN46ELSEZ=POS(0):PRINT@244,E+" COLOR '"+H+"' INVALID, RE-ENTER "+F;:PRINT@Z,"";:GOTO40 46 PRINT@305+M,H;:K=K+H:GOTO48 47 PRINT@304+M," ";:K=LEFT$(K,(LEN(K)-1)):M=M-1:GOTO40 48 NEXT 49 RETURN 50 N=VAL(RIGHT$(TIME$,2)):FORU=1TON:L=RND(1):NEXT 51 FOR N=1TOS+4 52 O=INT(RND(1)*(P+S*2+6)+1) 53 IFO=1THENA(0)="b":GOTO64 54 IFO=2THENA(0)="g":GOTO64 55 IFO=3THENA(0)="o":GOTO64 56 IFO=4THENA(0)="r":GOTO64 57 IFO=5THENA(0)="w":GOTO64 58 IFO=6THENA(0)="y":GOTO64 59 IFS=1THEN61 60 A(0)=" ":GOTO64 61 IFO=7THENA(0)="p":GOTO64 62 IFO=8THENA(0)="s":GOTO64 63 A(0)=" " 64 IFR=1THEN67 65 FORU=1TON-1:IFA(0)=A(U)THEN52 66 NEXTU 67 A(N)=A(0) 68 NEXTN 69 A(0)="":FORU=1TOS+4:A(0)=A(0)+A(U):NEXT 70 RETURN