Bulls and cows/Player: Difference between revisions

m
→‎{{header|Uiua}}: Improved cows logic
m (→‎{{header|Uiua}}: Small tweak)
m (→‎{{header|Uiua}}: Improved cows logic)
Line 4,219:
=={{header|Uiua}}==
Uiua isn't really meant for interactive use, so this program plays against itself (no cheating though!).
[https://www.uiua.org/pad?src=0_12_0-dev_1__IyBTZXRzIGFuZCBwbGF5cyBhIGdhbWUgb2YgQnVsbHMgYW5kIENvd3MgKE1hc3Rlcm1pbmQpCgpUIOKGkCBb4o2lKCsx4oyKw5fimoI5KTRdICMgUmFuZG9tIHRhcmdldAomcCAkIl8gPC0gVGFyZ2V0XG4iIFQKIyBTY29yZSBhIGd1ZXNzIGFnYWluc3QgYSB0YXJnZXQsIG9yIHZpY2UgdmVyc2EgOi0pLgpTY29yZSDihpAgKAogIDrin5wvKz0sLCAgICAgICAgICMgRmluZCBidWxscy4KICDiip_iipkoLyviiIriiKnil7TiiKnilr3iipk6LsKsKSAjIEZpbmQgY293cy4KKQrijaUo4piHMeKKnuKKgi4pMisx4oehOSAjIFByb3Bvc2VkIHRhcmdldHMgWzEtOSAxLTkgMS05IDEtOV0K4o2iKAoKICDin5woJnAkIl9cdF8iLCzin5woU2NvcmUgVCniiqHiirgo4oyKw5fimoLip7spKSAjIFBpY2sgZnJvbSBQcywgYW5kIHBsYXkgaXQgYWdhaW5zdCBUCiAg4pa9OuKfnCjiiaHiiY3iipnCpOKJoVNjb3Jl4oqZwqQpICAgICAgICAgICAgICAgICMgT25seSBrZWVwIFBzIHRoYXQgbWF0Y2ggdGhhdCBzY29yZQp8ID4x4qe7CikK4oq4KOKfqCJVSE9IInwiZ29vZCLin6niiY1UKeKKogo= Try it in Uiua Pad.]
[https://www.uiua.org/pad?src=0_12_0-dev_1__IyBTZXRzIGFuZCBwbGF5cyBhIGdhbWUgb2YgQnVsbHMgYW5kIENvd3MgKE1hc3Rlcm1pbmQpCgpUIOKGkCBb4o2lKCsx4oyKw5fimoI5KTRdICMgUmFuZG9tIHRhcmdldAomcCAkIl8gPC0gVGFyZ2V0XG4iIFQKIyBTY29yZSBhIGd1ZXNzIGFnYWluc3QgYSB0YXJnZXQsIG9yIHZpY2UgdmVyc2EgOi0pLgpTY29yZSDihpAgKAogIDrin5woLyspPSwsICAgICAgICAgICAgICMgRmluZCBidWxscwogIOKKn-KKmSjihqUwLysv4oal4oqePeKKgyjilr184pa94oqZ4peMKcKsKSAjIEZpbmQgY293cy4gR3VhcmQgYWdhaW5zdCA0IGJ1bGxzICjihqUwKS4KKQrijaUo4piHMeKKnuKKgi4pMisx4oehOSAjIFByb3Bvc2VkIHRhcmdldHMgWzEtOSAxLTkgMS05IDEtOV0K4o2iKAoKICDin5woJnAkIl9cdF8iLCzin5woU2NvcmUgVCniiqHiirgo4oyKw5fimoLip7spKSAjIFBpY2sgZnJvbSBQcywgYW5kIHBsYXkgaXQgYWdhaW5zdCBUCiAg4pa9OuKfnCjiiaHiiY3iipnCpOKJoVNjb3Jl4oqZwqQpICAgICAgICAgICAgICAgICMgT25seSBrZWVwIFBzIHRoYXQgbWF0Y2ggdGhhdCBzY29yZQp8ID4x4qe7CikK4oq4KOKfqCJVSE9IInwiZ29vZCLin6niiY1UKeKKogo= Try it in Uiua Pad.]
 
<syntaxhighlight lang="uiua">
Line 4,228:
# Score a guess against a target, or vice versa :-).
Score ← (
:⟜(/+)=,, # Find bulls.
⊟⊙(↥0/+/↥⊞=⊃(▽|▽⊙◌)∊∩◴∩▽⊙:.¬) # Find cows. Guard against 4 bulls (↥0).
)
⍥(☇1⊞⊂.)2+1⇡9 # Proposed targets [1-9 1-9 1-9 1-9]
⍢(
 
⟜(&p$"_\t_",,⟜(Score T)⊡⊸(⌊×⚂⧻)) # Pick from Ps, and play it against T
▽:⟜(≡≍⊙¤≡Score⊙¤) # Only keep Ps that match that score
158

edits