Racket 球拍动画
所以我用图片程序来做这个练习,我让程序按照练习的要求来做,但是交互窗口中的图像看起来像一堆堆叠的背景。我错过了这个程序的一些东西,我不知道它是什么 我还想补充一点,这必须在没有条件的情况下完成,比如循环等等。。。高级功能 你可以看到,它覆盖了一个白色的背景,防止程序填充这个空间,我似乎找不到解决这个问题的方法。我真的用蛮力强迫了我能想到的所有可能的组合,这是目前我能想到的最好的组合 练习说明如下: 写一个以空白屏幕开始的动画,每一半 第二个在完全随机的位置添加一个小点-x坐标和 y坐标是随机选择的 提示:由于您需要保留前面的所有点并再添加一个点,因此您的“模型” 应该是图像而不是数字。如何在指定的位置添加点 现有图像的位置 提示:当然,如果你能用任何图像开始动画,那就太好了 任何大小或形状,它都会在整个背景上随机地撒上点,而没有任何颜色 重写处理程序Racket 球拍动画,racket,Racket,所以我用图片程序来做这个练习,我让程序按照练习的要求来做,但是交互窗口中的图像看起来像一堆堆叠的背景。我错过了这个程序的一些东西,我不知道它是什么 我还想补充一点,这必须在没有条件的情况下完成,比如循环等等。。。高级功能 你可以看到,它覆盖了一个白色的背景,防止程序填充这个空间,我似乎找不到解决这个问题的方法。我真的用蛮力强迫了我能想到的所有可能的组合,这是目前我能想到的最好的组合 练习说明如下: 写一个以空白屏幕开始的动画,每一半 第二个在完全随机的位置添加一个小点-x坐标和 y坐标是随机选择
; Random dots
(define DOT
(circle 4 "solid" "black"))
(define blank-screen
(rectangle 200 200 "solid" "white"))
(define (next-dot x)
(overlay/xy x
(min 200 (random 200)) (min 200 (random 200))
(old-dot DOT)))
(define (old-dot x)
(overlay/xy x
(min 200 (random 200)) (min 200 (random 200))
blank-screen))
(big-bang DOT
(on-tick next-dot 1/2)
(on-draw old-dot 200 200))
您正在将绘图与下一个状态的计算混合。
next dot
将旧状态以随机位置覆盖在空白屏幕上,并在其上添加一个随机点。然后,绘图将该图像以随机位置覆盖在空白屏幕上。这似乎不对。旁注:(随机200)
是一个介于0和199之间的数字。将其限制在不大于200并不十分有用。好吧,我想我用圆点替换旧圆点来完成我需要的任务。我还取出了min函数。谢谢你的提示,我不知道,但我觉得我昨天有这个,我不满意,因为互动窗口中没有反馈@莫布尼洛
; Random dots
(define DOT
(circle 4 "solid" "black"))
(define blank-screen
(rectangle 200 200 "solid" "white"))
(define (next-dot x)
(overlay/xy x
(random 200) (random 200)
DOT))
(define (old-dot x)
(overlay/xy x
(random 200) (random 200)
blank-screen))
(big-bang DOT
(on-tick next-dot 1/2)
(on-draw old-dot 200 200))