某冰岚吧 关注:97贴子:3,358
不得不承认我已经投到c-logo的怀抱.
这是由happy用c语言写的,
c的开发效率低,
低的原因是要顾及内存与数据结构,更狗血的是dbug太费时间,
但是由c写出来的程序运行快,
占用内存小,
使用它还是比较激动人心的.
画出来的效果还是挺不错的.

这种动态效果就是用c-logo写的,因为c-logo含coo几个字母所以就叫酷语言了!
酷的原因有很多:
一:体量小功能大
二:编辑的写的cmd代码在c-logo.exe文件夹下双击就执行
三:内存画布画出来的动画不卡顿
四:代码自定义,可以把几乎所有的函数变量用中文定义
这样写出来的代码就能一目了然
五:酷就是酷!


1楼2017-01-23 22:21回复
    你太酷了!


    IP属地:吉林4楼2017-01-27 11:18
    回复
      我突然发现我什么都看不懂()


      IP属地:黑龙江来自Android客户端5楼2017-02-15 01:36
      收起回复
        规则:
        0我所说的程序就是函数,函数就是程序概念有些混淆(不要介意)(子程序可以理解成函数)
        1所有的变量(包括系统自设变量)前面都要加冒号:
        2所有的变量定义都在程序名定义的时候定义,(但是FOR会创建一个变量)
        例:
        TO 走路 :a :b :c
        //建一个名为'走路'的函数,同时定义了:a,:b,:c三个变量在子程序(走路)里用
        3所有的赋值语句前必须要加一个make
        例:
        make :penx=100 :peny=100 :heading=30
        //上面是一段赋值语句,置起点坐标(100,100)置方向;上方偏右30度
        4所有程序的起点是main
        to main
        //上面的to main是程序的起点,从这里开始,main必须定义在程序的末尾(main后面不定义子程序)
        5所有的条件,循环,分支,语句末尾都要有']'(方括号的后面的那个括号)作为结束符.
        其中FOR的结束符后面有个小尾巴,比如:
        FOR ::i 1 100
        fd 10
        ]0.1
        //这个0.1就(是小尾巴)代表步长是0.1,也就是这个(fd 10)要循环1000次
        //步长能设为小数,
        //能设为负数(起始变量必须大于终止变量否则是死循环),
        //还能设为随机数,
        //这是酷语言的创举
        //在FOR循环内部引用::i可以任性而随意
        6量
        a:用户全局变量暂时只有10个(:PEN0-:PEN9),
        b:下面是一些系统变量
        :PENX横坐标 :PENY纵坐标 :PENW笔宽(0-255) :PENC笔色(0-15) :PENB笔背景色(0-15)(这个暂时不好用)
        :PENS笔光滑度(0-6)(光滑度正长设置成2就差不多,数值越大线条越细腻,斜线条的锯齿感就越小)
        :PENA笔透明度(0-255) :HEADING笔头角度(0-360)
        c:酷语言有一个全局数字常量PI
        d:其他的自己定义的变量的作用域都是局部的,
        函数定义的变量就只能在函数内部用
        FOR的自增自减变量也只能在FOR内部使用,
        在最大程度上避免了变量的耦合(就是在不同的函数中相互干扰)
        7一行程序只有一个功能
        要注释这一行都是注释,
        fd 100这个动作完成就必须另起一行
        赋值行的前面必须有make
        多行的语句有IF elif(必须跟在IF后面) for while REPEAT PE(笔擦在下一个画线行执行擦除任务)
        还有注释符/*跟*/(多行注释)
        两个斜杠//代表单行注释
        /*跟*/最好各占一行
        例如:
        TO 画擦 :a
        //定义函数变量
        fd :a
        //前进100步(画线长度100像素)
        PE
        //PE为笔擦(下一个画线动作变成笔擦)
        bk :a
        //后退100步,在酷语言中bk不画线,也不擦线(只是单纯的移动)
        fd :a
        //执行PE的擦线任务,之后再有fd就会画线(PE的作用域只是一次的画线动作)
        TO main
        //程序的起点
        画擦 100
        //执行画擦函数把100传给:a
        /*
        上面的函数执行后屏幕上什么都没有
        因为执行的很快所以看不清楚
        */
        8前面的方括号可以省略
        带方括号的函数只有流程控制函数IF elif for while REPEAT五个
        如:
        IF 1=1
        [
        PR 1=1
        ]
        elif 2=2
        [
        pr 2=2
        ]
        可以写成
        IF 1=1
        PR 1=1
        ]
        elif 2=2
        pr 2=2
        ]
        WHILE 的条件如果省略就是死循环(执行时关闭或用STOP跳出)
        FOR 后面的小尾巴省略就是默认步长是1
        9,数学函数尽量用小写字母,现在所有的关键字都是大小写不敏感的
        (因为之前的版本数学函数是必须用小写的所以有点惯性才这样说的)
        10表达式里的三角函数都是用的弧度
        所以如果你用的是角度就就要用deg()把角度转化成弧度
        如:SIN(deg(30))才是30度的正弦值
        11头上的
        ::*****************************************************************************
        @ECHO OFF&COLOR 0F&MODE CON COLS=200 LINES=45&CLGO "%~F0"&PAUSE>NUL&EXIT /B
        COPYRIGHT@2017~2019 BY HAPPY
        ::*****************************************************************************
        这些是控制台批处理语句@ECHO OFF代表关闭控制台输出(echo)功能(只带这一句也可以)
        COLS=200 LINES=45这个是画图屏幕的宽度跟高度可以自己调整
        控制台批处理语句我也不懂,感兴趣的可以自己搜
        COPYRIGHT@2017~2019 BY HAPPY(COPYRIGHT是版权的意思)(HAPPY)是作者的名字
        有这几行双击这个.cmd的文件就执行这个程序(前提是clgo.exe也在同一个文件夹下)
        右击这个.cmd文件再点编辑就可以编辑这个程序
        如果没有这几行,就要把.cmd文件拖拽到clgo.exe上执行


        8楼2017-02-15 21:02
        收起回复
          CLGO SCRIPT 3.0版
          _____________________________________________________________________________
          CLGO SCRIPT绘图脚本语言,具有类似C语言的函数定义、函数调用、递归、循环、逻辑
          判断等语法功能。在内存中解释运行,速度迅猛。同时,CLGO语言具有非常简单的语法
          结构、关键词。 快速上手,简短的语句就能绘出美妙的画面。
          _____________________________________________________________________________
          命令:
          -----------------------------------------------------------------------------
          关键词(不区分大小写) 中文释义 用法说明
          -----------------------------------------------------------------------------
          ___________________________________全局变量__________________________________
          :PENX 横坐标
          :PENY 纵坐标
          :PENW 笔宽 取值0-255
          :PENC 笔色 取值0-15
          :PENB 笔背景色 取值0-15
          :PENS 笔光滑度 取值0-6
          :PENA 笔透明度 取值0-255
          :HEADING 笔头角度 取值0-360
          :PEN0 - :PEN9 用户变量 供用户使用的全局变量
          ___________________________________绘图命令___________________________________
          FD 前进 FD 100 //前进100步
          BK 后退 BK 100 //后退100步
          LT 左转 LT 90 //左转 90度
          RT 右转 RT 90 //右转 90度
          PU 抬笔 PU //抬笔
          PD 落笔 PD //落笔
          PE 笔擦 PE //笔擦
          HM 回家 笔归位至中央、笔头朝上
          CS 清图 清除绘图区,笔归位、笔头朝上
          PR 打印 PR :HEADING={:HEADING} //打印 “:HEADING=0”
          ___________________________________语句命令___________________________________
          IF~ELIF 如果~再则 条件指令
          REPEAT 重复 RP 4[循环体]
          WHILE 当 WHILE 条件[循环体]
          FOR 循环 FOR 变量 初值 终值[循环体]步长
          ___________________________________语句词语___________________________________
          NOT 逻辑否
          AND 逻辑与
          OR 逻辑或
          ___________________________________扩展命令___________________________________
          MEMUSE 启用内存画布
          MEMSEE 查看内存画布
          MEMOUT 抛弃内存画布
          SETXY 设置画笔位置 SETXY 30 50 //画笔位置30、50
          ROTE 旋转 ROTE 30 //画布旋转30度
          FILL 颜色填充 用颜色填充笔所在的封闭区域
          TEXT 绘制文字 text 32 0 15 宋体 你好 //绘制你好,字体大小32,样式0,颜色15
          OVAL 画椭圆 OVAL 100 50 15 //画横向半径为100,纵向半径为50的椭圆,倾斜角15度
          RECT 画矩形 RECT 100 50 25 //画横向长度为100,纵向长度为50的矩形,倾斜角25度
          WAIT 等待 WAIT 3000 //等待3秒;WAIT -1暂停
          STOP 停止 停止子过程
          EXIT 退出 退出整个脚本
          -----------------------------------------------------------------------------
          释符:
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          行注释 //行内容
          段注释 /*
          段内容
          */
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          数学类关键词(必须小写):
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          常数类
          pi 3.1415926535897932
          通用类
          rand 随机函数余
          round 四舍五入
          time 获取时间time(0~5) //取值0~5分别代表年月日时分秒
          read 获取按键read(300) //在300毫秒内持续监听获取按键值
          abs 绝对值
          ceil 向上舍入
          deg 角度转弧度
          exp e的次幂
          sqrt 开方
          fact 阶乘
          lg 常用对数,以10为底
          ln 自然对数
          + 加
          - 减
          * 乘
          / 除
          % 取余数
          ^ 次方
          比较运算
          > 大于
          < 小于
          = 等于
          <> 不等于
          ! 逻辑非
          三角函数类
          sin、cos、tan
          arcsin、arccos、arctan
          双曲函数类
          sinh、cosh、tanh
          arcsinh、arccosh、arctanh
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          十六色系:
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          { 0, 0, 0,RGB( 0, 0, 0)}, //黑色
          { 0, 0,255,RGB( 0, 0,255)}, //蓝色
          { 0,255, 0,RGB( 0,255, 0)}, //绿色
          { 0,255,255,RGB( 0,255,255)}, //青色
          {255, 0, 0,RGB(255, 0, 0)}, //红色
          {238,130,238,RGB(238,130,238)}, //紫兰
          {165, 42, 42,RGB(165, 42, 42)}, //棕色
          {211,211,211,RGB(211,211,211)}, //浅灰
          {169,169,169,RGB(169,169,169)}, //深灰
          {173,216,230,RGB(173,216,230)}, //淡蓝
          {144,238,144,RGB(144,238,144)}, //浅绿
          {224,255,255,RGB(224,255,255)}, //淡青
          {248, 29, 56,RGB(248, 29, 56)}, //亮红
          {255, 0,255,RGB(255, 0,255)}, //洋紫
          {255,255, 0,RGB(255,255, 0)}, //黄色
          {255,255,255,RGB(255,255,255)} //白色
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          英译:
          -----------------------------------------------------------------------------
          COPYRIGHT@2016~2018 BY HAPPY, CLGO SCRIPT, VERSION 3.0
          CLGO.EXE
          USAGE: CLGO [FILE]
          -----------------------------------------------------------------------------
          2017-02-13


          10楼2017-02-15 21:09
          收起回复
            酷语言有两样很变态,1是内存画布2是表达式,
            内存画布保证动作的连贯性,表达式保证数据的准确性
            表达式,可以用在任何传值的内容上
            比如fd可以理解为一个函数它的参数只有一个这个参数就可以用表达式
            SETXY是两个参数的函数,
            IF 也可以理解为等号两边的两个表达式
            IF and :a+:b=:c+:d :e+:f=:g+:h当有逻辑函数时又多了两个参数又可以多出两个表达式
            FOR 后面的小尾巴也可以是表达式
            只要是能传参数的都可以用表达式
            但是自定义函数不能用在表达式中,一方面没有返回值,
            也就是表达式只能由变量,系统数学符号,系统数学函数,跟数字组成
            酷语言的逻辑表达式是弱项(用很多and OR NOT 作用的表达式结果只有真或者是假)
            如果有多层逻辑就只能多用几个IF elif语句来判断
            内存画布相对简单只要在使用前先用MEMUSE启用
            启用后的所有画线都在内存中直到遇到MEMSEE函数
            才把内存中画的内容一次性的呈现在屏幕上,
            在MEMSEE与下一个画线动作之间的WAIT 是有效的(可以延时)
            在画线到MEMSEE之间的WAIT 是无效的(不知道现在是不是这样)
            只要不出现MEMOUT抛弃内存画布就一直会画在内存中,等待MEMSEE画图


            11楼2017-02-15 21:53
            回复
              中间值,
              是指,为了理清思路或概念而设置的数值(既是变量),
              这种数值,的特点是不需要传值,只需要赋值
              但是在酷语言中,只要定义了就必须要传值
              如果不想传不用传的值,就要建立一个中间函数然后在中间函数中传值
              调用这个中间函数就可以只传,需要传的值
              这也算技巧了,还有一种办法就是用全局变量做中间值
              全局变量在使用时还是要注意的,
              这是唯一可能造成子程序相互干扰的因素


              12楼2017-02-15 22:33
              收起回复
                学说话,的最好的方法是说话,学写程序的最好方法就是写程序,看的多不如写的多,读万卷书不如行万里路.


                13楼2017-02-15 22:54
                回复
                  TO 蛋圆 :a :b :k :xx :yy :z
                  //ab长短轴▕k▏<1决定圆度,xx,yy置中心点坐标z是旋转角度
                  make :PENX=:a*(cos(0))*(cos(deg(:z)))-(:b*(sin(0))/(1-:k*(sin(0))))*(sin(deg(:z)))+:xx
                  make :PENY=:a*(cos(0))*(sin(deg(:z)))+(:b*(sin(0))/(1-:k*(sin(0))))*(cos(deg(:z)))+:yy
                  for ::i 0 360
                  SETXY :a*(cos(deg(::i)))*(cos(deg(:z)))-(:b*(sin(deg(::i)))/(1-:k*(sin(deg(::i)))))*(sin(deg(:z)))+:xx :a*(cos(deg(::i)))*(sin(deg(:z)))+(:b*(sin(deg(::i)))/(1-:k*(sin(deg(::i)))))*(cos(deg(:z)))+:yy
                  ]
                  to 多角星 :x :y :z :a :r :TP9 :tp0
                  //:x :y 中心点坐标:z旋转角度 :a边数 :r外接圆半径 :TP9 :tp0中间值
                  make :PENX=:x :PENY=:y
                  rt :z
                  make :TP9=:HEADING
                  pu
                  fd :r
                  make :tp0=(2*:r*(sin(deg((180/:a)*((ceil(:a/2))-1)))))
                  if (:a)%2=1
                  rt 180-90/:a
                  pd
                  REPEAT :a
                  fd :tp0
                  rt 180-180/:a
                  ]
                  ]
                  if (:a)%2=0
                  rt 180
                  fd 2*:r
                  rt 180-180/:a
                  pd
                  REPEAT (:a/2)
                  fd :tp0
                  rt 180-360/:a
                  ]
                  make :PENX=:x :PENY=:y :HEADING=:TP9
                  PU
                  fd :r
                  rt 180-180/:a
                  pd
                  REPEAT (:a/2)
                  fd :tp0
                  rt 180-360/:a
                  ]
                  ]
                  pu
                  make :PENX=:x :PENY=:y :HEADING=:TP9
                  pd
                  to 空心多角星 :x :y :z :a :r :TP9 :tp0 :tp1
                  //:x :y 中心点坐标:z旋转角度 :a边数 :r外接圆半径 :TP9 :tp0 :tp1中间值
                  make :PENX=:x :PENY=:y :TP9=:HEADING
                  rt :z
                  pu
                  fd :r
                  make :tp0=sqrt(:r*:r-(2*:r*(sin(deg((180/:a)*((ceil(:a/2))-1)))))*((2*:r*(sin(deg((180/:a)*((ceil(:a/2))-1)))))/4))/((sin(deg(90-180*((ceil(:a/2))-2)/:a)))/(cos(deg(90-180*((ceil(:a/2))-2)/:a))))
                  make :tp1=(2*:r*(sin(deg((180/:a)*((ceil(:a/2))-1)))))/2-:tp0
                  if (:a)%2=1
                  rt 180-90/:a
                  pd
                  REPEAT :a
                  fd :tp1
                  pu
                  fd (:tp0*2)
                  pd
                  fd :tp1
                  rt 180-180/:a
                  ]
                  ]
                  if (:a)%2=0
                  rt 180
                  fd 2*:r
                  rt 180-180/:a
                  pd
                  REPEAT :a/2
                  fd :tp1
                  pu
                  fd (:tp0*2)
                  pd
                  fd :tp1
                  rt 180-360/:a
                  ]
                  pu
                  make :PENX=:x :PENY=:y :HEADING=:tp9
                  fd :r
                  rt 180-180/:a
                  pd
                  REPEAT :a/2
                  fd :tp1
                  pu
                  fd (:tp0*2)
                  pd
                  fd :tp1
                  rt 180-360/:a
                  ]
                  ]
                  pu
                  make :PENX=:x :PENY=:y :HEADING=:TP9
                  pd
                  TO 抛物线 :p :x :xx :yy :z
                  /*
                  通径2*p 焦准距p 离心率e=1
                  :x=10*x循环次数(步长0.1)
                  :xx :yy :z 坐标方向
                  */
                  make :PENX=:xx :PENY=:yy
                  for ::t 0 :x
                  setxy 2*:p*(deg(::t*::t))*(cos(deg(:z)))-2*:p*(deg(::t))*(sin(deg(:z)))+:xx 2*:p*(deg(::t*::t))*(sin(deg(:z)))+2*:p*(deg(::t))*(cos(deg(:z)))+:yy
                  ]0.1
                  make :PENX=:xx :PENY=:yy
                  for ::t 0 :x*(-1)
                  setxy 2*:p*(deg(::t*::t))*(cos(deg(:z)))-2*:p*(deg(::t))*(sin(deg(:z)))+:xx 2*:p*(deg(::t*::t))*(sin(deg(:z)))+2*:p*(deg(::t))*(cos(deg(:z)))+:yy
                  ]-0.1
                  TO 双曲线 :a :b :k :xx :yy :z
                  //:a :b c=a^2+b^2(c为焦点)准线x=±a^2/c :k>0跳过除以0的情况 :xx :yy置坐标 :z置方向
                  make :PENX=:a*(1/(cos(deg(90+:k))))*(cos(deg(:z)))-:b*(tan(deg(90+:k)))*(sin(deg(:z)))+:xx
                  make :PENY=:a*(1/(cos(deg(90+:k))))*(sin(deg(:z)))+:b*(tan(deg(90+:k)))*(cos(deg(:z)))+:yy
                  for ::i 90+:k 470-:k
                  SETXY :a*(1/(cos(deg(::i))))*(cos(deg(:z)))-:b*(tan(deg(::i)))*(sin(deg(:z)))+:xx :a*(1/(cos(deg(::i))))*(sin(deg(:z)))+:b*(tan(deg(::i)))*(cos(deg(:z)))+:yy
                  ]
                  TO 斜椭圆 :a :b :x :y :z :j
                  //a,b长短半轴x,y中心点坐标z倾斜角度j精度越,小越精确
                  make :PENX=:a*(cos(0))*(cos(deg(:z)))-:b*(sin(0))*(sin(deg(:z)))+:x
                  make :PENY=:a*(cos(0))*(sin(deg(:z)))+:b*(sin(0))*(cos(deg(:z)))+:y
                  for ::t 0 360
                  setxy :a*(cos(deg(::t)))*(cos(deg(:z)))-:b*(sin(deg(::t)))*(sin(deg(:z)))+:x :a*(cos(deg(::t)))*(sin(deg(:z)))+:b*(sin(deg(::t)))*(cos(deg(:z)))+:y
                  ]:j
                  TO 正多边形 :x :y :z :边数 :边长 :TP9
                  // :x :y置坐标 :z置方向 :边数 :边长 :TP9中间值
                  make :PENX=:x :PENY=:y
                  PU
                  make :TP9=:HEADING
                  rt (180-180/:边数+:z)
                  fd :边长/(2*(sin(deg(180/:边数))))
                  rt 90+180/:边数
                  pd
                  REPEAT :边数
                  FD :边长
                  rt 360/:边数
                  ]
                  PU
                  make :PENX=:x :PENY=:y :HEADING=:TP9
                  PD
                  TO 外接正多边形 :x :y :z :边数 :半径 :TP9
                  //:x :y 置坐标:z置方向 :边数 :半径 :TP9中间值
                  make :PENX=:x :PENY=:y
                  PU
                  make :TP9=:HEADING
                  rt (180-180/:边数+:z)
                  fd :半径
                  rt 90+180/:边数
                  pd
                  REPEAT :边数
                  FD :半径*(2*(sin(deg(180/:边数))))
                  rt 360/:边数
                  ]
                  PU
                  make :PENX=:x :PENY=:y :HEADING=:TP9
                  PD


                  14楼2017-02-15 23:28
                  收起回复

                    @ECHO OFF&CLS&COLOR 0F&MODE CON COLS=195 LINES=53&CLGO "%~F0"&PAUSE>NUL&EXIT /B
                    TO FUNCTIONS_IMG :A :N :C
                    make :PENS=2 :PENW=5 :PENC=4
                    FOR ::T 0 :C
                    make :PENC=::T%15+1
                    SETXY 0.3*::T*cos(deg(::T))*cos(deg(:N*::T)) 0.3*::T*sin(deg(::T))*cos(deg(:N*::T))
                    wait 1
                    ]
                    TO MAIN
                    FUNCTIONS_IMG 0.0003 5 1500


                    15楼2017-02-15 23:46
                    收起回复

                      @ECHO OFF&CLS&COLOR 0F&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
                      TO DIAL
                      //画表盘
                      make :PENW=2 :PENC=8
                      REPEAT 60
                      [
                      make :PENC=RAND(15)+1
                      PU
                      FD 130
                      PD
                      FD 10
                      BK 140
                      RT 6
                      ]
                      make :PENW=3
                      REPEAT 12
                      [
                      PU
                      FD 115
                      PD
                      FD 25
                      BK 140
                      RT 30
                      ]
                      make :PENW=2
                      REPEAT 60
                      [
                      make :PENC=3
                      PU
                      FD 80
                      PD
                      FD 20
                      BK 100
                      RT 6
                      ]
                      TO HOUR___HAND :ANGEL :LEN
                      //画时针,跟分针画法一样只是:ANGEL跟:LEN取值不同
                      MINUTE_HAND :ANGEL :LEN
                      TO MINUTE_HAND :ANGEL :LEN
                      //画分针
                      make :PENC=8 :PENW=4
                      RT :ANGEL
                      FD :LEN
                      make :PENx=0 :PENy=0 :heading=0
                      TO SECOND_HAND :ANGEL :LEN
                      //画秒针
                      make :PENC=6 :PENW=3
                      RT :ANGEL
                      FD :LEN
                      make :PENx=0 :PENy=0 :heading=0
                      TO MAIN
                      make :PENS=2
                      DIAL
                      MEMUSE
                      WHILE
                      [
                      //画时针,分针,秒针
                      HOUR___HAND (time(3)+time(4)/60)*30 60
                      MINUTE_HAND (time(4)+time(5)/60)*6 80
                      SECOND_HAND (time(5)*6) 110
                      //MEMSEE显示内存画布
                      MEMSEE
                      WAIT 1000
                      ]
                      MEMOUT


                      16楼2017-02-15 23:56
                      回复


                        TO CYCL :START :ENDPS :STEPS
                        FOR ::I :START :ENDPS+RAND(5)
                        make :PENC=RAND(15)+1
                        OVAL ::I/7 ::I ::I
                        WAIT 10
                        ](RAND(5))*(-1)
                        TO SQRE :START :ENDPS :STEPS
                        FOR ::I :START :ENDPS+RAND(5)
                        make :PENC=RAND(15)+1
                        RECT ::I/7 ::I ::I
                        WAIT 10
                        ](RAND(5))*(-1)
                        TO MAIN
                        make :PENS=2 :PENW=30 :PEN0=RAND(9)
                        IF (:PEN0)>4
                        [
                        CYCL 300 50 3
                        ]
                        elIF 0=0
                        [
                        SQRE 300 50 3
                        ]


                        18楼2017-02-16 00:04
                        收起回复

                          TO FUNCTIONS_IMG2
                          MEMUSE
                          FOR ::A 1 360000
                          [
                          make :PENx=0 :PENy=0
                          ROTE ::A
                          MEMSEE
                          ]10
                          MEMOUT
                          TO FUNCTIONS_IMG :A
                          //MEMUSE
                          make :PENS=2 :PENW=2 :PENC=15
                          FOR ::T 0 1000
                          [
                          //$PENC=::T%15+1
                          SETXY 0.3*::T*cos(deg(::T)) 0.3*::T*sin(deg(::T))
                          ]
                          //MEMSEE
                          //MEMOUT
                          TO MAIN
                          FUNCTIONS_IMG 0.0003
                          FUNCTIONS_IMG2


                          19楼2017-02-16 00:14
                          回复

                            TO CYCL :START :ENDPS :STEPS
                            FOR ::I :START :ENDPS
                            make :PENC=RAND(15)+1
                            OVAL ::I/(RAND(12)+1) ::I ::I
                            ](-1)*(RAND(5))
                            TO SQRE :START :ENDPS :STEPS
                            FOR ::I :START :ENDPS
                            make :PENC=RAND(15)+1
                            RECT ::I/(RAND(12)+1) ::I ::I
                            ](-1)*(RAND(5))
                            TO MAIN
                            make :PENS=2 :PENW=5
                            REPEAT 10000
                            [
                            MEMUSE
                            CYCL 200 3 3
                            MEMSEE
                            WAIT 100
                            ]


                            20楼2017-02-16 00:18
                            收起回复

                              TO CYCL :START :ENDPS :STEPS
                              FOR ::I :START :ENDPS
                              make :PENC=RAND(15)+1
                              OVAL ::I/7 ::I ::I
                              ](-1)*(RAND(5)+10)
                              TO MAIN
                              make :PENS=2 :PENW=20
                              REPEAT 10000
                              [
                              MEMUSE
                              CYCL 300 3 3
                              MEMSEE
                              ]


                              21楼2017-02-16 00:23
                              收起回复