RosettaCodeData/Task/Set-puzzle/Uiua/set-puzzle.uiua
2026-04-30 12:34:36 -04:00

16 lines
580 B
Text

Types ← [{"one" "two" "three"}
{"solid" "open" "striped"}
{"red" "green" "purple"}
{"oval" "squiggle" "diamond"}]
Hand ← ˜↙⊏⍏⍥⚂⊸⧻≡≡⊡⊙(¤Types)⧅⋅⋅1 4⇡3 # build deck, shuffle, take N
Sets ← ≡(=1/↧≡(↥⊃=₁=₃⧻⊕⧻⊸⊛)⍉) # each type in a set must be distinct or identical
Deal‼ ← (
⍢(^1◌|^0/+Sets(⧅<3))^1
⊸(▽⊸Sets(⧅<3))
)
&p"9 cards dealt, 4 sets available.\n"
≡&s⊙&sDeal‼(≠₄|Hand9)
&p"\n\n12 cards dealt, 6 sets available.\n"
≡&s⊙&sDeal‼(≠₆|Hand12)