gpt4 book ai didi

random - 榆树生成随机数

转载 作者:行者123 更新时间:2023-12-04 03:57:14 25 4
gpt4 key购买 nike

我想在榆木的两个值之间生成一个随机整数。
像这样的东西:
nb = random(0, 10)
我已阅读该文档和多篇文章。最好的答案是从这个stackoverflow post

gen = Random.int 0 10
seed0 = Random.initialSeed 123456
Random.generate gen seed0

但是问题在于,它总是返回相同的值,甚至不是整数,它是这样的:
(7,Seed { state = State 645041272 40692, next = <function>, split = <function>, range = <function> })
: ( Int, Random.Seed )

因此,从 doc,最好使用当前时间作为种子。但是我怎么得到呢?我必须为此使用信号吗?有没有简单的方法来获取时间戳?

我很困惑,我需要为种子生成一个随机整数,以便可以生成一个随机整数。如果不是,则生成的随机int不是随机的。我想我误会了一些东西...

编辑:我也找到了这个 post,但我不明白一切。

最佳答案

已更新为0.18

app =
Html.programWithFlags
{ init = init
, update = update
, view = view
, subscriptions = always Sub.none
}

init : {startTime : Float} -> Model
init {startTime} =
{ blankModel | randomSeed = Random.initialSeed <| round startTime }

index.html
<script type="text/javascript">
var yourPgm = Elm.fullscreen(Elm.Main, {startTime: Date.now()});
</script>

原始答案

在纯程序中,随机数很复杂,但这是我在自己的 games(使用Elm体系结构)中做到的一件事:

Main.elm
startTimeSeed : Seed
startTimeSeed = Random.initialSeed <| round startTime

app =
StartApp.start
{ init = (init 8 8 startTimeSeed, Effects.none)
, update = update
, view = view
, inputs = []
}

port startTime : Float

index.html
<script type="text/javascript">
var yourPgm = Elm.fullscreen(Elm.Main, {startTime: Date.now()});
</script>

换句话说,当您开始游戏时,将时间戳通过端口传递

关于random - 榆树生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35235708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com