COLOR 7, 0
10 DIM RD$(15): RANDOMIZE TIMER: LOCATE , , 0
   SP$ = CHR$(32): X$ = "X": GOSUB 1000
   PRINT "How many digits would you like to"
   PRINT "hide (2=easy; 6=difficult)?"
50 K$ = INKEY$: IF K$ = "" THEN 50
   DL = VAL(K$): IF DL < 2 OR DL > 6 THEN BEEP: GOTO 50
   DS$ = "0123456789": TD$ = DS$: C$ = "": FOR L = 1 TO DL
   T = INT(RND * LEN(TD$)) + 1: C$ = C$ + MID$(TD$, T, 1)
   TD$ = LEFT$(TD$, T - 1) + MID$(TD$, T + 1)
    NEXT L: MAX = 1: TC = 0: GOSUB 1000
    PRINT TAB(12 + DL); "# OF"; SPC(5); "CORRECT"
    PRINT TAB(11 + DL); "MATCHES"; SPC(2); "POSITIONS"
130 TD$ = DS$: CX = 1: LOCATE 21, 1
    PRINT "# of guesses:"; TC: a$ = STRING$(DL, X$)
    LOCATE MAX + 4, 1: PRINT "GUESS:"; SP$, a$
160 TA$ = MID$(a$, CX, 1)
170 LOCATE MAX + 4, CX + 7: PRINT CHR$(219)
    LOCATE MAX + 4, CX + 7: PRINT MID$(a$, CX, 1)
    K$ = INKEY$: IF K$ = "" THEN 170
    IF LEN(K$) = 2 THEN 270
    IF K$ = CHR$(13) THEN 310
    KC = INSTR(TD$, K$): IF KC = 0 THEN BEEP: GOTO 170
    TD$ = LEFT$(TD$, KC - 1) + MID$(TD$, KC + 1)
    IF TA$ <> X$ THEN TD$ = TD$ + TA$
    LOCATE MAX + 4, CX + 7: PRINT K$: MID$(a$, CX, 1) = K$
    CX = CX + 1 + (CX = DL) * DL: GOTO 160
270 DK = INSTR("KM", MID$(K$, 2))
    IF DK = 0 THEN BEEP: GOTO 170
    CX = CX + (DK = 1) - (DK = 2)
    CX = CX + ((CX = DL + 1) - (CX = 0)) * DL: GOTO 160
310 IF INSTR(a$, X$) <> 0 THEN BEEP: GOTO 170
    C = 0: P = 0: FOR L = 1 TO DL: T$ = MID$(a$, L, 1)
    C = C - (INSTR(C$, T$) <> 0)
    IF MID$(C$, L, 1) = T$ THEN P = P + 1
    NEXT L
    RD$(MAX) = SPACE$(7) + a$ + SPACE$(6) + STR$(C) + SPACE$(8) + STR$(P)
    LOCATE MAX + 4, 1: PRINT RD$(MAX)
    TC = TC + 1: IF C = DL AND P = DL THEN 430
    IF MAX < 15 THEN MAX = MAX + 1: GOTO 130
    FOR L = 1 TO 14: RD$(L) = RD$(L + 1): NEXT L
    LOCATE 5, 1: FOR L = 1 TO MAX - 1: PRINT RD$(L)
    NEXT L: GOTO 130
430 LOCATE 23, 1: PRINT SPACE$(17): LOCATE MAX + 6, 1
    PRINT "Congratulations; you figured out the numbers in "; TC; "guesses."
INPUT "Play again (Y/N)"; a$
IF a$ = "y" OR a$ = "Y" THEN 10 ELSE 450
450 PRINT "Please Wait...": CHAIN "moneycga"
1000 CLS : COLOR 14: PRINT TAB(10); "HIDDEND DIGITS"
     COLOR 2: PRINT : RETURN




