使用递归函数创建地图的图片

时间:2016-12-10 15:14:00

标签: haskell gloss

我第一次使用haskell gloss并且遇到了一些麻烦,在此代码中:

-- the initial c and l will be imagine for dimension 9: (-160) 160 
-- (so the square ends in the center of the window

--         column;  line;   dimension   
drawmap :: Float -> Float -> Float -> Picture
drawmap c l d = (drawline x c l d) : (drawmap xs c (l+40) d)

drawline :: Float -> Float -> Float -> Picture
drawline c l d = if (d>0) then (Translate c l $ Color red (circle 20)) : (drawline (c+40) l (d-1))
                          else (Translate c l $ Color red (circle 20))

我现在唯一的问题是类型,因为我需要它是类型图片,而不是[图片],任何帮助?

而且,我如何制作这个停止点:

drawline _ _ 0 = Nothing or [] 

我知道这是不可接受的,但我如何告诉它何时停止做圈?

这根本不是实际的,只是一个非常简单的例子,如果有人帮我理解了这一点,我可以在应用我真正需要做的事情之后。

0 个答案:

没有答案