复赛上机题:鼠标控制画圆点 3 FMSLogo解

这是鼠标控制画圆点的FMSLogo解。需要说明的是,FMSLogo-MSWLogo的色值7是白色,所以需要避开白色。具体的程序命令是:
if :s>6[make "s :s+1]
;避开7白色
这样每点击一次鼠标都能产生有效的随机色点。
FMSLogo-MSWLogo的鼠标命令是原生命令,不需要自己另外编写无限循环来监测鼠标的操作。命令格式:
mouseon [make "a mousepos yuan] [pu] [mouseoff]
[] []
题头的动画图形就是用FMSLogo编写输出的。
to sbyd
;鼠标控制圆点
cs ht
setpensize 3 setpc 1
;方框蓝色宽度3
pu setxy -200 -200
pd ;移动到画框处
repeat 4[fd 400 rt
90] ;画400×400方框
pu setpensize 40
;圆点直径40
mouseon [make "a mousepos yuan]
[pu] [mouseoff] [] []
end
to yuan
make "x first :a
;分解出:X坐标值
make "y last :a
;分解出:Y坐标值
(pr :x
:y)
if and (and :x<180 :x>-180)
(and :y>-180 :y<180)[
;保证圆点在框内的坐标
make "s 1+random 15
;产生1~15随机颜色
if :s>6[make "s :s+1]
;避开7白色
setpc :s
;设置点的颜色
pu setpos :a pd
fd 1 bk 1]
;在框内点击画一个点
end
更多的复赛上机题及源程序应查找阅读《复赛详解》
《复赛详解》的资料出处请在下面查找
加载中,请稍候......