Deal cards for FreeCell: Difference between revisions

Content deleted Content added
Line 487:
<lang python>from sys import argv
 
def randomGenerator(seed=1):
class RandomGenerator:
max_int32 = (1 << 31) - 1
def __init__(self, seed=1):
max_uint32seed = (1 << 32)seed -& 1max_int32
self.seed = seed & max_uint32
 
defwhile next(self)True:
max_int32seed = (1seed <<* 31214013 + 2531011) -& 1max_int32
self.seedyield = (self.seed * 214013 + 2531011) &>> max_int3216
return self.seed >> 16
 
def deal(seed):
nc = 52
cards = range(nc - 1, -1, -1)
rnd = RandomGeneratorrandomGenerator(seed)
for i, r in xrangezip(range(nc), rnd):
j = (nc - 1) - rnd.next()r % (nc - i)
cards[i], cards[j] = cards[j], cards[i]
return cards
Line 508 ⟶ 506:
def show(cards):
l = ["A23456789TJQK"[c / 4] + "CDHS"[c % 4] for c in cards]
for i in xrangerange(0, len(cards), 8):
print " ", " ".join(l[i : i+8])