Deal cards for FreeCell: Difference between revisions

→‎{{header|PureBasic}}: Changed parameters of RNG()
(added perl6)
(→‎{{header|PureBasic}}: Changed parameters of RNG())
Line 398:
(prinl) )</lang>
=={{header|PureBasic}}==
<lang PureBasicpurebasic>#MaxCardNum = 51 ;zero-based count of cards in a deck
Global seed.q, deckSize
Global Dim cards(#MaxCardNum) ;card with highest index is at the top of deck
 
Procedure RNG(seed.q = -1)
Static state.q
seed = (seed * 214013 + 2531011) % (1 << 31)
ProcedureReturnIf seed >>= 160
state = seed
Else
seed state = (seedstate * 214013 + 2531011) % (1 << 31)
ProcedureReturn state >> 16
EndIf
EndProcedure
 
Line 411 ⟶ 416:
For i = 0 To #MaxCardNum: cards(i) = i: Next
RNG(hand) ;set seed value
seed = hand
deckSize = #MaxCardNum
While deckSize
Anonymous user