RosettaCodeData/Task/Bulls-and-cows/BBC-BASIC/bulls-and-cows.basic
2023-07-01 13:44:08 -04:00

32 lines
866 B
Text

secret$ = ""
REPEAT
c$ = CHR$(&30 + RND(9))
IF INSTR(secret$, c$) = 0 secret$ += c$
UNTIL LEN(secret$) = 4
PRINT "Guess a four-digit number with no digit used twice."'
guesses% = 0
REPEAT
REPEAT
INPUT "Enter your guess: " guess$
IF LEN(guess$) <> 4 PRINT "Must be a four-digit number"
UNTIL LEN(guess$) = 4
guesses% += 1
IF guess$ = secret$ PRINT "You won after "; guesses% " guesses!" : END
bulls% = 0
cows% = 0
FOR i% = 1 TO 4
c$ = MID$(secret$, i%, 1)
IF MID$(guess$, i%, 1) = c$ THEN
bulls% += 1
ELSE IF INSTR(guess$, c$) THEN
cows% += 1
ENDIF
ENDIF
NEXT i%
PRINT "You got " ;bulls% " bull(s) and " ;cows% " cow(s)."
UNTIL FALSE