Я делаю игру, в которой мне нужно рисовать случайные линии на экране. Теперь похоже, что Random нужен сигнал для работы в 0.13 (а мы вынуждены работать в 0.13). Итак, как мне получить эти случайные числа?
Я начал со скелета игры, предоставленного на сайте elm-lang, и дошел до этого:
type UserInput = { space : Bool, keys : [KeyCode] }
type Input = { timeDelta : Float, userInput : UserInput }
userInput : Signal UserInput
userInput = lift2 UserInput Keyboard.space Keyboard.keysDown
framesPerSecond = 30
delta : Signal Float
delta = lift (\t -> t / framesPerSecond) (Time.fps framesPerSecond)
input : Signal Input
input = Signal.sampleOn delta (Signal.lift2 Input delta userInput)
gameState : Signal GameState
gameState = Signal.foldp stepGame defaultGame input
stepGame : Input -> GameState -> GameState
stepGame i g =
if g.state == Start then *Get random floats*
Теперь в stepGame я хочу рисовать случайные линии. Проблема в том, что я могу получить случайные числа с плавающей запятой, только предоставив сигнал в 0,13а>. У меня есть входной сигнал рядом с функцией шага, но когда я меняю заголовок, скажем, на stepGame : Signal Input -> GameState -> GameState
, он не компилируется. Итак, как мне получить сигнал в этой функции, чтобы получить несколько случайных чисел... Я не могу найти решение, это сводит меня с ума.