2

我正在尝试在 Elm 中编写一个生命克隆游戏,但在如何绘制更新板时遇到了一些困难。

我将板上的单元格表示为(List (List Int))一个名为的变量gameBoardList

我用这个功能来更新板子

transformBoardList : List (List Int) -> List (List Int)
transformBoardList l = nextVertRow l 0

我能够将其gameBoardList转换为一种形式并将其绘制为一个元素,甚至可以transformBoardList毫无问题地应用该功能。

我不明白的是如何让我的董事会不断更新。我已经检查了过去的依赖映射,但在我看来我需要某种递归映射,这样我就可以继续应用transformBoardList每次更新

有什么想法可以实现这一目标吗?

4

1 回答 1

1

如果您有一些游戏状态和更新功能,您可以使用这些和foldp时间记录器来获得定期更新的游戏。

startState = gameBoardList -- for example
update = transformBoardList -- for example
view = .. -- you said you had this too

input = Time.every second -- a time ticker
state = Signal.foldp (\_ s -> update s) startState input
main = view <~ state
于 2015-02-26T08:06:57.600 回答