Deal cards for FreeCell: Difference between revisions

m
→‎{{header|Wren}}: Changed to Wren S/H
(Added Quackery.)
m (→‎{{header|Wren}}: Changed to Wren S/H)
 
(3 intermediate revisions by 2 users not shown)
Line 1,156:
4♠ T♠ 2♥ 5♦ J♣ 6♣ J♥ Q♥
J♦ K♠ K♣ 4♥</pre>
=={{header|EasyLang}}==
{{trans|Phix}}
<syntaxhighlight>
global seed .
func xrnd .
seed = (seed * 214013 + 2531011) mod 0x80000000
return seed div 0x10000
.
len cards[] 52
proc deal game_num . .
print "hand " & game_num
seed = game_num
for i = 1 to 52
cards[i] = 52 - i
.
for i = 1 to 51
j = 52 - xrnd mod (53 - i)
swap cards[i] cards[j]
.
.
suits$[] = strchars "CDHS"
ranks$[] = strchars "A23456789TJQK"
#
proc show . .
for idx = 1 to 52
rank = cards[idx] div 4 + 1
suit = cards[idx] mod 4 + 1
write ranks$[rank] & suits$[suit] & " "
if idx mod1 13 = 13
print ""
swap .
.
print ""
.
deal 1 ; show
deal 617 ; show
</syntaxhighlight>
 
=={{header|Elixir}}==
{{trans|Ruby}}
Line 2,981 ⟶ 3,019:
<syntaxhighlight lang="Quackery"> [ [ [] 52 times
[ i^ join ] ]
constant ] is newpack ( --> n )
 
[ 2dup peek
dip [ over -1 peek ]
swap 2swap poke
-1 poke ] is to-end ( [ n --> [ )
 
[ [] swap
Line 2,995 ⟶ 3,033:
-1 split
swap dip join ]
drop ] is mixem ( [ --> [ )
 
[ 4 /mod
[$ table"A23456789TJQK"
rot peek emit
char C char D char H
$ char S ]"CDHS"
swap peek char Kemit ] emit emit ] is echocard ( n --> )
swap
[ table
char A char 2 char 3
char 4 char 5 char 6
char 7 char 8 char 9
char T char J char Q
char K ] emit emit ] is echocard ( n --> )
 
[ witheach
[ echocard
i^ 8 mod 7 !=
iff spcr else crsp ] ] is echopack ( [ --> )
 
[ MCR-seed replace
newpack
mixem
echopack ] is deal ( n --> )
 
' [ 1 617 11982 ]
Line 3,750 ⟶ 3,782:
=={{header|Wren}}==
{{trans|Kotlin}}
<syntaxhighlight lang="ecmascriptwren">class Lcg {
construct new(a, c, m, d, s) {
_a = a
9,476

edits