Anonymous user
Bulls and cows: Difference between revisions
Simpler D entry
(Updated D entry) |
(Simpler D entry) |
||
Line 689:
cows bulls)))))))</lang>
=={{header|D}}==
Inspired by the PicoLisp entry.
<lang d>void main() {
import std.stdio, std.random, std.string, std.algorithm,
std.range, std.conv;
▲ immutable chosen = ddigits.randomCover.take(size).array;
while (true) {
if (
break;▼
return " You guessed it!".writeln;
" Bad guess! (4 unique digits, 1-9)".writeln;
}
▲ immutable bulls = guess.zip(chosen).count!q{ a[0] == a[1] };
▲ .count!(p => p[0] != p[1] && chosen.canFind(p[0]));
▲ writefln(" %d Bulls\n %d Cows", bulls, cows);
}</lang>
{{out}}
<pre>Next guess: 6548
bulls 0, cows 3
Next guess: 5284
bulls 2, cows 1
Next guess: 4386
bulls 0, cows 2
Bad guess! (4 unique digits, 1-9)
Next guess
Bad guess! (4 unique digits, 1-9)
Next guess: 5894
bulls 3, cows 0
Next guess: 5874
bulls 3, cows 0
You guessed correctly in 3 attempts.</pre>▼
Bad guess! (4 unique digits, 1-9)
Next guess: 5814
=={{header|E}}==
|