мой вопрос очень прост, я хочу, чтобы в моем коде на haskell была функция, которая работает следующим образом: я вызываю ее, и она возвращает мне случайное целое число.Я использую его для генерации своих тетромино на основе сгенерированных чисел, какие-нибудь идеи?
РЕДАКТИРОВАТЬ, вот как работает мой код, выглядит прямо сейчас, коды будут выглядеть примерно так:
Точкаструктура данных, которую я сделал самостоятельно, это не имеет значения.Проблема с использованием unsafePerform заключается в том, что он повторяет одно и то же число каждый раз
getRandomInt :: Int
getRandomInt = unsafePerformIO (getStdRandom (randomR (1, 7)))
getRandomTetromino :: [Point]
getRandomTetromino = getRT getRandomInt
getRT :: Int -> [Point]
getRT c
| c == 1 = [ Point 5 1 "T", Point 5 0 "T", Point 6 1 "T", Point 4 1 "T"]
| c == 2 = [ Point 5 1 "Z", Point 5 0 "Z", Point 4 1 "Z", Point 4 2 "Z"]
| c == 3 = [ Point 5 1 "I", Point 5 0 "I", Point 5 2 "I", Point 5 3 "I"]
| c == 4 = [ Point 5 1 "L", Point 6 1 "L", Point 4 1 "L", Point 6 0 "L"]
| c == 5 = [ Point 5 1 "J", Point 5 0 "J", Point 6 0 "J", Point 5 2 "J"]
| c == 6 = [ Point 5 1 "S", Point 5 0 "S", Point 6 0 "S", Point 4 1 "S"]
| c == 7 = [ Point 5 0 "O", Point 6 0 "O", Point 6 1 "O", Point 5 1 "O"]