37 lines
565 B
Text
37 lines
565 B
Text
global deck[] top .
|
|
proc new .
|
|
deck[] = [ ]
|
|
for i to 52 : deck[] &= i
|
|
top = 52
|
|
.
|
|
suit$[] = [ "♠" "♦" "♥" "♣" ]
|
|
val$[] = [ 2 3 4 5 6 7 8 9 10 "J" "Q" "K" "A" ]
|
|
func$ name card .
|
|
return suit$[card mod1 4] & val$[card div1 4]
|
|
.
|
|
proc show .
|
|
for i to top : write name deck[i] & " "
|
|
print ""
|
|
print ""
|
|
.
|
|
proc shuffle .
|
|
for i = 52 downto 2
|
|
r = random 1 i
|
|
swap deck[i] deck[r]
|
|
.
|
|
top = 52
|
|
.
|
|
func deal .
|
|
top -= 1
|
|
return deck[top + 1]
|
|
.
|
|
new
|
|
show
|
|
shuffle
|
|
show
|
|
for i to 10
|
|
write name deal & " "
|
|
.
|
|
print ""
|
|
print ""
|
|
show
|