规则:
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上执行