Bulls and cows: Difference between revisions

no edit summary
No edit summary
Line 1,474:
Guess a 4-digit number with no duplicate digits: 3957
You won after 10 guesses!</pre>
 
=={{header|Liberty BASIC}}==
<lang lb>
 
do while len( secret$) <4
c$ =chr$( int( rnd( 1) *9) +49)
if not( instr( secret$, c$)) then secret$ =secret$ +c$
loop
 
print " Secret number has been guessed.... "; secret$
 
guesses = 0
 
[loop]
print " Your guess ";
input " "; guess$
 
guesses = guesses +1
 
r$ =score$( guess$, secret$)
 
bulls =val( word$( r$, 1, ","))
cows =val( word$( r$, 2, ","))
 
print " Result: "; bulls; " bulls, and "; cows; " cows"
print
 
if guess$ =secret$ then
print " You won after "; guesses; " guesses!"
print " You guessed it in "; guesses
print " Thanks for playing!"
wait
end if
 
goto [loop]
 
end ' _____________________________________________________________
 
function check( i$) ' check =0 if no digit repeats, else =1
check =0
for i =1 to 3
for j =i +1 to 4
if mid$( i$, i, 1) =mid$( i$, j, 1) then check =1
next j
next i
end function
 
function score$( a$, b$) ' return as a csv string the number of bulls & cows.
bulls = 0: cows = 0
for i = 1 to 4
c$ = mid$( a$, i, 1)
if mid$( b$, i, 1) = c$ then
bulls = bulls + 1
else
if instr( b$, c$) <>0 and instr( b$, c$) <>i then
cows = cows + 1
end if
end if
next i
score$ =str$( bulls); ","; str$( cows)
end function
 
[quit]
close #w
end
</lang>
 
=={{header|Logo}}==
Anonymous user