| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 love52120 于 2013-3-30 15:43 编辑  
 
解析五级认证的画圆、方的题目 
//写一个脚本,要求:让鼠标在画图工具里使用铅笔工具,由脚本执行鼠标命令,实现一边画圆一边画方的操作效果。 
//提示:合理结构,禁止使用多线程方式同步执行。 
//下面首先运行画图工具 
这里的要求“实现一边画圆一边画方的操作效果”应该是同时进行画方和画圆,但是有不能使用多线程,在一开始感到很纠结,过后的两天里有一天晚上喝醉酒了,半夜睡醒,无意中想到可以用画圆上的一点接着画方上的一点,这样就可以使得圆方看起来是同时画的,也符合不适用多线程的要求。由于官方是不赞许发答案的,所以下面我将这个程序的主要部分运用注释给大家讲解一下。 
首先是运行画板工具,然后选择画笔,因为是比较通用的写法,这里就省略了。 
//圆心坐标 
r = 100 
//圆半径 
x0 = 350+ux 
y0 = 300+uy 
//矩形的左竖最下点 
l = 2 
k = 512 
//决定像素距离的l和k的比值须多加调试才能使得画圆和画方基本同时完成.否则将使得画圆不能全部完成。 
n = 0 
u = 0 
i = 0 
o = 0 
p = 0 
//为了避免跳转的时候不能获取到n,u,i,o,p变量的值,先给其赋初始值。 
//这里是左边画圆,右边画方。下面将利用标记跳转的方式使得画圆和画方同时进行。 
//因为矩形(正方形)是分段画的,所以这里也将圆等分成4个部分来画。 
Rem 画圆1 
While n < 3.1415926 /2 
    x = x2 + r * cos(n) 
    y = y2 - r * sin(n) 
    MoveTo x, y 
    LeftClick 1 
    n = n + l / r 
    Goto 画方1 
    //  标记必须在n,u,i,o,p变量的自加后,这样才能使得n,u,i,o,p变量自增。  
Wend 
Rem 画圆2 
While n >= 3.1415926 /2 and n < 3.1415926 
    x = x2 + r * cos(n) 
    y = y2 - r * sin(n) 
    MoveTo x, y 
    LeftClick 1 
    n = n + l / r 
    Goto 画方2 
  Wend 
Rem 画圆3 
While n >= 3.1415926 and n < 3.1415926*3 /2 
    x = x2 + r * cos(n) 
    y = y2 - r * sin(n) 
    MoveTo x, y 
    LeftClick 1 
    n = n + l / r 
    Goto 画方3 
 
Wend 
Rem 画圆4 
While n >= 3.1415926*3 /2 and n<301415926*2 
    x = x2 + r * cos(n) 
    y = y2 - r * sin(n) 
    MoveTo x, y 
    LeftClick 1 
    n = n + l / r 
    Goto 画方4 
    
Wend 
//这里将矩形分割成四个部分的直线方程分段画 
//下面是画方的左竖 
Rem 画方1 
While u<200 
    x1 = x0 
    y1 = y0 - u 
    MoveTo x1, y1 
    LeftClick 1 
    u = u + k / 200 
    Goto 画圆1 
Wend 
//下面是画方的上横 
Rem 画方2 
While  i<200 
    x1 = x0+i 
    y1 = y0-200 
    MoveTo x1, y1 
    LeftClick 1 
    i = i + k / 200 
    goto 画圆2 
Wend 
//下面是画右竖 
Rem 画方3 
While  o<200 
    x1 = x0+200 
    y1 = y0-200 + o 
    MoveTo x1, y1 
    LeftClick 1 
    o = o + k / 200 
    Goto 画圆3 
Wend 
//下面是画方的下横 
Rem 画方4 
While  p<200 
    x1 = x0 + 200 - p 
    y1 = y0 
    MoveTo x1, y1 
    LeftClick 1 
    p = p + k / 200 
    Goto 画圆4 
Wend 
//这里可以加一句关闭画板工具的语句 
MsgBox "圆、方已经画完,脚本已经停止" 
 
我开始是将画方分成四个部分画的,顺序是左竖、上横、右竖、下横,中间插入画圆的点,但是后来发现这个比较困难,我就把画圆也相应的均等分成四个四分之一部分,再配合使用标记跳转,在画圆和画方之间相互跳转。这里可以通过设定某些值使得画圆方的线条更加密集。花了大半夜清醒的时间终于完成了这道题目的解答,这里分享给大家做个参考,希望对不理解的朋友有所帮助。 
 
 
 
 |   
 
 
 
 |