一、系统命令:
to end 过程开始、结束符号
bye 关闭编程系统
edall 打开代码编辑器 edit all
halt 终止程序运行
ss 图文混合屏 split screen(默认)
fs 全图形屏 full screen
ts 全文字屏 text screen
【编码格式】
命令间、数据间、命令与数据间必须留空格;
命令行以“enter回车”结束;
[ ] 符号前后可以不留空格,也可以留;
过程名、变量名可使用大小写字符、数字、@#$%&特殊符号混合命令,不可以使用+—*/=及“保留字”;
过程体每个层次,向右缩进2个空格或1个tab;
【编码常用符号】
; 分号 注释符号 右侧写代码注释 例如 fd 100 ; 前进100步
" 双引号 字标识符 被赋值变量标识符 例如 "hello
: 冒号 变量标识符 例如 fd :L 其中L是一个变量
[ ] 方括号 表标识符 程序逻辑括号
{ } 花括号 数组标识符
( ) 圆括号 数学计算括号 多操作界定符号
~ 波纹号 程序行换行连接符号(可缺省不使用)
【几个复位命令】
draw 系统初始化(全部参数重置)
clean 清除图形,小海龟不复位
cs 清除图形,小海龟复位
ct 清除所有命令行
【ASCII码】
0 - 48 其他数字逐个加1
A - 65 其他大写字母逐个加1
a - 97 其他小写字母逐个加1
空格 - 32
二、作图命令:
【移动命令】
fd 100 前进 forward + 步数
bk 100 后推 back + 步数
rt 90 右转 right + 角度
lt 90 左转 left + 角度
home 回家
pu 抬笔 pen up,抬起尾巴
pd 落笔 pen down,落下尾巴
ht 藏龟 hide turtle
st 显龟 show turtle
【笔擦模式】
pe 笔擦模式 pen erase 小海龟变为橡皮,会擦除经过的地方
ppt 画笔模式(从pe切换到正常) pen paint
px 反笔命令(无线处画线,有线处擦除) pen reverse
ppt 画笔模式(从px切换到正常) pen paint
【系统颜色值 0-15】
0-黑 1-蓝 2-绿 3-浅蓝 4-红 5-品红 6-黄 7-白
8-棕 9-棕黄 10-橄榄绿 11-天蓝 12-粉色 13-暗紫 14-橙色 15-灰色
【颜色命令】
setpensize 10 设置画笔宽度,默认是1
setw n 设置笔宽,set width
setpc 4 设置画笔颜色 set pen color (色值0-15,或者 [R G B])
setsc 4 设置背景颜色 set screen color(色值0-15,或者 [R G B])
setfc 4 设置填充颜色,set flood color.(色值0-15,或者 [R G B])
fill 用当前颜色填充封闭空间 (fill "true 覆盖填色)
【设置坐标】
setx 100 设置横向的位置
sety 100 设置纵向的位置
setz 100 设置三维高度的坐标
setxy 100 100 设置横向、纵向的坐标
setxyz 100 100 100 设置横向、纵向、高度(三维)的坐标
seth 90 设置方向角度,向上为0,顺时针计算 set heading
【查询坐标】
show .. 显示后面的内容
xcor 查询横向x坐标 x coordinate
ycor 查询纵向y坐标 y coordinate
zcor 查询高度z坐标 z coordinate
pos 查询当前x,y坐标 position of x,y (getxy)
posxyz 查询当前x,y,z (三维)坐标 poition of x,y,z
heading 查询当前方向角度
towards [100 100] 航向计算,计算从当前位置到目标为止的航向(show显示结果)
【画圆命令】
arc 角度 半径: 顺时针画圆弧,半径为正则起点是身后,半径为负则起点是面前
arc2 角度 半径: 顺时针,沿着圆弧移动小海龟;角度为负,则逆时针移动
circle 半径: 以小海龟为中心,画圆
circle2 半径: 以小海龟为起点,画圆
ellipse 横向半径 纵向半径: 以小海龟为中心,画椭圆
ellipse2 纵向半径 横向半径: 以小海龟为起点,画椭圆
ellipsearc 弧度大小 横向半径 纵向半径 起始角度: 以小海龟为中心,画椭圆弧度,起点为小海龟背面,顺时针
ellipsearc2 弧度大小 横向半径 纵向半径 起始角度: 基本同ellipsearc,弧度大小为正则顺时针画,否则逆时针;小海龟沿着圆弧移动
【一个过程/程序】(自定义复杂指令)
to 过程名:参数(可省略)
过程体
end
【编码实例-画图】
画一个正三角形: repeat 3[fd 100 rt 120]
画一个米字: REPEAT 8 [ FD 80 BK 80 RT 45 ]
画一个风车: repeat 5[ repeat 3[fd 70 rt 120] rt 360/5]
画一个半径为100的圆: repeat 36 [fd 2*3.14*100/36 rt 360/36]
画一个正九角形: repeat 9 [fd 40 rt 360/9]
画一个五角星: repeat 5 [fd 100 rt 144]
画一个任意多角星: repeat 角数 [ fd 边长 rt :K*360/角数 ] 其中K是1-(角数/2)之间除不尽角数的数
延时起飞: repeat 100 [fd 5 repeat 10000 [ ] ]
画一个正多边形: repeat 边数 【fd 边长 rt 360/边数】
画一个叶子 repeat 2 [repeat 度数 [fd 半径*pi/180 rt 1] rt 180-度数]
一个过程实例:
to sanjiaoxing
repeat 3 [fd 100 rt 120]
end
三、赋值、输入输出命令:
make "变量名 对象 给一个变量赋值
name 表达式 "变量名 基本同make,参数顺序调换
pr 对象(pr 对象1 对象2 ...) 在文本框输出并换行,print
type 对象 (type 对象1 对象2 ...) 输出对象但不产生换行
show 对象 (show 对象1 对象2 ...) 按属性输出
label 字符写到图形屏中 (setlabelfont 设置写屏字体)
form 小数数值 宽度 位数 为小数数值的输出定义格式(show、pr、type、label等命令之前使用)
op 结束过程,并返回对象的值 output
【字符、字、表】
字符:一个字母或数字,比如a
字: 一个字符串,回车结束,比如 [hello word]
表:一个列表,回车结束,比如 [ hello ] [ word]
rc 从对话框输入一个字符,键盘输入 readchar
rw 从对话框输入一个字,键盘输入 readWord
rl 从对话框输入一个表,键盘输入 readlist
rq 从数据流中读入一行,并输出 (readline 再输出ASCII码)
read 读取第一个字符串
key? 检测键盘输入
tone 发出音响
play 奏乐
【字表处理命令】
ASCII 输出首字符的ASCII值
char 输出ASCII值对应的字符
SE 使元素组成表,sentence,将参与计算的表数据脱去“表”的结构,再组成新表
list 使元素组成表,将参与计算的各元素按原样,组成新表
first 输出首字符或首元素
last 输出末字符或元素
bf 去掉首字符或元素,but first
bl 去掉末字符或元素,but last
fput 把1表连接到2表前面
lput 把1表连接到2表后面
Word 合并多个字 为一个新字 (字符串)
count 输出对象包含的元素个数,计数
item 输出指定位置的某一个元素
empty? 空字空表检测 (emptyp)
word? 字检测,是否是一个字
list? 表检测,是否是一个表
member? 成员包含检测,是否包含
substring? 检测第2个字符串是否包含第1个字符串
equal? 相等检测
member 输出元素2从元素1开始的字或表
remove 去掉2中所包含的1元素
pick 随机输出字表内的一个字符或元素
reddup 去掉重复元素,remove dump
reverse 倒序输出原字表
iseq 建立连续整数表,interger sequence
rseq 建立等差数列表
push 数据入栈
pop 数据出栈
queue 将元素加入表尾部(队列入队)
dequeue 从表头取出元素(队列出队)
四、逻辑控制命令:
repeat 次数 [重复操作] 重复多次同样的操作
repcount 输出当前执行命令的次数
forever [ ] 无限循环
for [变量名 初值 终值 步长] [循环体] for循环语句,自定义循环次数和变量(步长默认为1)
if 条件表达式 [条件成立时的操作] if如果判断语句,如果一个条件成立时,则执行操作
ifelse 条件表达式 [条件成立时的操作] [条件不成立时的操作] if-else判断语句,执行前者或后者
stop 停止过程执行
while [条件表达式] [循环体] while当循环语句,条件成立时一直循环
until [条件表达式] [循环体] 直到循环语句,条件不成立时,才退出循环
test 检测表达式的真假
ift [ ] 检测为真时的操作,if true
iff [ ] 检测为假时的操作,if false
pause - co 过程暂停 - 恢复执行
【鼠标键盘命令】
mouseon [左按下] [左释放] [右按下] [右释放] [移动] 开始捕获鼠标事件命令
mouseoff 停止捕获鼠标事件命令
mousepos 获取鼠标当前坐标表
keyboardon [键盘按下] [键盘抬起] 开始捕获键盘事件命令
keyboardoff 停止捕获键盘事件命令
keyboardvalue 获取按键ASCII值,如a的值是97
五、数学计算命令:
abs 取绝对值
int 向下取整
round 四舍五入
sum 输出几个数的和
product 输出各数的乘积
quotient 输出数1除以数2的商
sqrt 算术平方根
power 求乘方幂
pi 圆周率
remainder 求余数
random 输出不大于指定数的随机整数 (rerandom 随机数初始化,取随机数之前使用)
sin 求正弦值
cos 求余弦值
sing 取符号
【基础运算符号】
+ - * / = 加减乘除、等于
< 小于 > 大于 <= 小于等于 >= 大于等于 <> 不等于
【逻辑运算符】
and 逻辑与 满足所有条件
or 逻辑或 满足条件之一
not 逻辑非 不满足条件
六、高级命令:
【多海龟命令】
setturtle 1 设置第1个海龟
setturtules N 设置可用的海龟总数
tell 1 fd 100 调用第一个海龟 (tell N 命令组)
tell 代号1 代号2 [命令组] 激活两个代号直接的所有海龟
ask [海龟代号] [命令组] 激活指定海龟执行命令组
each [命令组] 使已激活的海龟分别执行命令组
who 查询正在活动的海龟的代号
setbitindex 建立位图缓存索引
bitcut 剪切图形,成位图
bitload 调用bmp位图
bitmapturtle 显示位图海龟
【时间命令】
wait 60 延时1秒
date 输出日月年
time 输出计算机时间,格式为 星期-月-日-时:分:秒-年
timemilli 输出开机到当前的毫秒数,millisecond(毫秒)
【数组命令】
array 一维数组定义
array? 数组检测
item 读出一维数组元素值
setitem 一维数组复制
listtoarray 表转换为数组
arraytolist 数组转换为表
mdarray 定义多维数组,Multidimensional array
mdsetitem 多维数组赋值
mditem 读出多维数组元素值
【对话框命令】
messagebox [眉头内容] [对话内容] 确定-取消对话框
selectbox [眉头内容] [选择项目表] 多项选择框,选择确认后输出选择的序号
yesnobox [眉头内容] [提示内容] 是-否选择框,输出true-false
questionbox [眉头内容] [询问内容] 询问对话框,输出答案
【GIF图形命令】
gifsave "文件名.gif" 帧间隔时间 append LOOP 记录GIF图像文件,loop=-1播放1次,0连续播放,N播放N次
gitload "文件名 调用已经存在的GIF图像
gitsize "文件名 输出GIF图像宽、高的表数据
setactiveearea [xLow YLow XHigh YHigh] 设置打印或保存图片的屏幕区域
网友评论