美文网首页
24-Logo编程知识汇总

24-Logo编程知识汇总

作者: 生而为赢Sean | 来源:发表于2023-09-13 20:33 被阅读0次

 一、系统命令:

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]    设置打印或保存图片的屏幕区域

相关文章

网友评论

      本文标题:24-Logo编程知识汇总

      本文链接:https://www.haomeiwen.com/subject/iatpvdtx.html