我正在尝试在Elm中编写一个生命克隆游戏,我对如何绘制更新板感到困难。
我将名为(List (List Int))
gameBoardList
我使用此功能更新电路板
transformBoardList : List (List Int) -> List (List Int)
transformBoardList l = nextVertRow l 0
我可以将gameBoardList
转换为表单并将其作为元素绘制,甚至可以将transformBoardList
函数应用于该表单而不会出现问题。
我不明白的是如何让我的电路板不断更新。我已经检查了过去的依赖映射,但它看起来像我需要某种递归映射,所以我可以继续应用transformBoardList
每次更新
我是如何实现这一目标的?
答案 0 :(得分: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