Bulls and cows/Player: Difference between revisions
Content added Content deleted
(→{{header|Tcl}}: (Hopefully) replaced constant: 4 with variable $size to make things genericc.) |
(J) |
||
Line 2: | Line 2: | ||
The task is to write a ''player'' of the [[Bulls and cows|Bulls and Cows game]], rather than a scorer. The player should give intermediate answers that respect the scores to previous attempts. |
The task is to write a ''player'' of the [[Bulls and cows|Bulls and Cows game]], rather than a scorer. The player should give intermediate answers that respect the scores to previous attempts. |
||
=={{header|J}}== |
|||
<lang j>require'misc' |
|||
poss=:1+~.4{."1 (i.!9)A.i.9 |
|||
fmt=: ' ' -.~ ": |
|||
play=:3 :0 |
|||
while.1<#poss=.poss do. |
|||
smoutput'guessing ',fmt guess=.({~ ?@#)poss |
|||
bc=.+/\_".prompt 'how many bull and cows? ' |
|||
poss=.poss #~({.bc)=guess+/@:="1 poss |
|||
poss=.poss #~({:bc)=guess+/@e."1 poss |
|||
end. |
|||
if.#poss do. |
|||
'the answer is ',fmt,poss |
|||
else. |
|||
'no valid possibilities' |
|||
end. |
|||
)</lang> |
|||
For example: |
|||
<lang j> play'' |
|||
guessing 7461 |
|||
how many bull and cows? 0 1 |
|||
guessing 3215 |
|||
how many bull and cows? 0 3 |
|||
guessing 2357 |
|||
how many bull and cows? 2 0 |
|||
guessing 1359 |
|||
how many bull and cows? 3 0 |
|||
the answer is 1358</lang> |
|||
=={{header|Python}}== |
=={{header|Python}}== |