#9 Polishing shuffle
This commit is contained in:
parent
33c9a877d2
commit
bb16551cb8
1 changed files with 8 additions and 3 deletions
|
@ -1,12 +1,18 @@
|
||||||
module Shuffle (
|
module Shuffle
|
||||||
shuffle
|
( shuffle
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Data.List
|
import Data.List
|
||||||
import System.Random
|
import System.Random
|
||||||
|
|
||||||
|
----------------------------- Constants ------------------------------
|
||||||
|
|
||||||
|
-- The seed used to generate random numbers.
|
||||||
|
seed :: Int
|
||||||
seed = 20
|
seed = 20
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
-- Shuffle a list of values.
|
-- Shuffle a list of values.
|
||||||
shuffle :: [a] -> [a]
|
shuffle :: [a] -> [a]
|
||||||
shuffle l = map (l !!) $ generateIndices $ length l
|
shuffle l = map (l !!) $ generateIndices $ length l
|
||||||
|
@ -19,6 +25,5 @@ generateIndices size = take size uniqueList
|
||||||
uniqueList = nub randomList
|
uniqueList = nub randomList
|
||||||
|
|
||||||
-- Generate a random generator
|
-- Generate a random generator
|
||||||
-- TODO Écht random maken?
|
|
||||||
randomGen :: StdGen
|
randomGen :: StdGen
|
||||||
randomGen = mkStdGen seed
|
randomGen = mkStdGen seed
|
||||||
|
|
Reference in a new issue