Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Question and comment about randomizing a block of values

From: agem:crosswinds at: 19-Jun-2001 0:47

RE: [REBOL] Question and comment about randomizing a block of values [jos--trapeze--com] wrote:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hey all! > > I'm working on a set of generic class's to be used to create card > based games. (current framework included below) > > My question centers on 'shuffling' the deck. I know there are _many_ > methods of shuffling, with various degrees of randomness. I'd like to > know what you all think about the following 'shuffle' function (this > function is in a class. the list-of-cards var is a class variable): > > shuffle-deck: func [ "Randomizes the list-of-cards" > number-of-passes [number!] > ] [ > for a-pass 1 number-of-passes 1 [ > sort/compare list-of-cards func [a b /local c] [ > c: random 2 > if c = 1 [return true] > if c = 2 [return false] > ] > ] > ] > > Using the sort/compare works really fast, but i'm not sure that this > is the way its meant to be used ;), but it seems to work quite well, > especially with multiple passes. If anyone has any suggestions, > please let me know! >
:) :) :) funny way usualy i shuffle like this: [rebol [] n-cards: 20 deck: copy [] repeat i n-cards [append deck i] probe deck random/seed now shuffled-deck: copy [] loop n-cards [ card-no: random length? deck append shuffled-deck pick deck card-no remove at deck card-no ] probe shuffled-deck ] also Allan Kamp has some nice card-games. on http://www.rebolforces.com/index.r , reb-sites/R-forces . maybe he should start some article about it? BTW Allan, where are the RebNotes gone?! -Volker