菜鸟科技网

logo命令大全

Logo 命令大全

基础绘图命令

这些是 Logo 最核心的命令,用于控制海龟(Turtle)移动和绘图。

logo命令大全-图1
(图片来源网络,侵删)
命令 缩写 功能描述 示例
FORWARD FD 向前移动海龟 FD 100 (向前移动100步)
BACK BK 向后移动海龟 BK 50 (向后移动50步)
RIGHT RT 右转海龟(角度) RT 90 (向右转90度)
LEFT LT 左转海龟(角度) LT 45 (向左转45度)
PENUP PU 抬起笔,移动时不绘制 PU FD 50 (移动50步,不画线)
PENDOWN PD 放下笔,移动时绘制 PD FD 50 (移动50步,画线)
SETPENCOLOR SETPC 设置画笔颜色 SETPC "RED (设置画笔为红色)
SETBACKGROUND SETBG 设置背景颜色 SETBG "BLUE (设置背景为蓝色)
CLEARSCREEN CS 清空画布,海龟回中心 CS
CLEAN 清空画布,海龟不移动 CLEAN
HOME 海龟回到初始位置(中心,朝上) HOME
HIDETURTLE HT 隐藏海龟 HT
SHOWTURTLE ST 显示海龟 ST

画笔和填充命令

这些命令用于控制线条的粗细、样式以及封闭图形的填充。

命令 缩写 功能描述 示例
SETPENSIZE SETPS 设置画笔粗细(像素) SETPS 5 (设置画笔宽度为5像素)
SETFILL 设置填充颜色 SETFILL "YELLOW (设置填充色为黄色)
FILL 对当前封闭区域进行填充 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FILL (画一个正方形并填充)
BEGINFILL BF 开始填充区域 BF FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 ENDFILL
ENDFILL EF 结束填充 (配合 BEGINFILL 使用)
PENERASE PE 设置橡皮擦模式,移动时擦除 PE FD 50 (向前移动50步,擦除路径)
PENPAINT PP 恢复画笔模式 PP

重复与循环命令

Logo 的强大之处在于其重复结构,可以轻松绘制复杂图形。

命令 缩写 功能描述 示例
REPEAT 重复执行一组命令 REPEAT 4 [FD 100 RT 90] (画一个正方形)
FOR 指定次数循环,常用于绘制多边形 FOR [i 1 6] [FD 100 RT 60] (画一个六边形)
TO 定义一个新过程(函数/子程序) TO SQUARE :size ... END
END 结束一个过程的定义 (与 TO 配对使用)

过程(Procedure)定义与使用

过程是 Logo 编程的核心,可以封装代码,实现模块化。

命令 缩写 功能描述 示例
TO 开始定义一个过程 TO SQUARE :size
END 结束过程的定义 FD :size RT 90 FD :size RT 90 FD :size RT 90 FD :size RT 90 END
OUTPUT OP 从过程中返回一个值 TO DOUBLE :num OUTPUT :num * 2 END
STOP 停止当前过程的执行

如何使用过程:

logo命令大全-图2
(图片来源网络,侵删)
  1. 定义一个画正方形的过程:
    TO SQUARE :size
      REPEAT 4 [FD :size RT 90]
    END
  2. 调用过程: SQUARE 50 (画一个边长为50的正方形) SQUARE 100 (画一个边长为100的正方形)

变量与数学运算

Logo 使用变量来存储和计算数据。

命令 缩写 功能描述 示例
MAKE 创建或修改变量 MAKE "side 100 (创建名为 side 的变量,值为100)
THING 获取变量的值 FD THING "side (等同于 FD 100)
加法 PRINT 5 + 3 (输出 8)
减法 PRINT 10 - 4 (输出 6)
乘法 PRINT 6 * 7 (输出 42)
除法 PRINT 20 / 5 (输出 4)
RANDOM 生成一个随机数 FD RANDOM 100 (向前移动0到99之间的随机步数)
INT 取整数部分 PRINT INT 3.14 (输出 3)
SQRT 计算平方根 PRINT SQRT 16 (输出 4.0)

条件判断命令

这些命令让程序能够根据不同情况执行不同的操作。

命令 缩写 功能描述 示例
IF 如果条件为真,则执行一组命令 IF XCOR > 0 [RT 90] (如果海龟的X坐标大于0,则右转90度)
IFELSE 如果条件为真则执行第一组命令,否则执行第二组 IFELSE YCOR < 0 [SETBG "BLACK] [SETBG "WHITE]
EQUAL? 判断两个值是否相等 IF EQUAL? 4 4 [PRINT "YES]
NOTEQUAL? <> 判断两个值是否不相等 IF NOTEQUAL? :size 0 [FD :size]
GREATER? > 判断第一个数是否大于第二个数 IF GREATER? :size 50 [SETPC "RED]
LESS? < 判断第一个数是否小于第二个数 IF LESS? :size 50 [SETPC "BLUE]
AND 逻辑与(所有条件都为真时为真) IF AND (XCOR > 0) (YCOR > 0) [ST]
OR 逻辑或(任一条件为真时为真) IF OR (XCOR < 0) (YCOR < 0) [HT]
NOT 逻辑非(取反) IF NOT (PENMODE = "DOWN) [PD]

输入输出与屏幕控制

这些命令用于与用户交互和控制屏幕显示。

命令 缩写 功能描述 示例
PRINT 在命令行打印文本或变量的值 PRINT "Hello" (打印 Hello)
PR PRINT 的简写 PR "Hello
TYPE 打印文本,不换行 TYPE "A" TYPE "B" TYPE "C" (会输出 ABC 在同一行)
READLIST RL 从用户读取一行文本(列表) MAKE "name READLIST
READWORD RW 从用户读取一个单词 MAKE "color READWORD
KEY? 检测是否有键盘按键被按下 IF KEY? [PRINT "Key Pressed]
CLEARTEXT CT 清空命令行文本 CT
TEXTSCREEN TS 切换到全屏文本模式 TS
FULLSCREEN FS 切换到全屏绘图模式 FS
SPLITSCREEN SS 分屏模式(绘图和命令行并存) SS

高级与特殊命令

这些是一些更高级或特定于某些 Logo 版本的命令。

logo命令大全-图3
(图片来源网络,侵删)
命令 缩写 功能描述 示例
SETPOS 将海龟移动到指定坐标 SETPOS [100 100] (移动到坐标 x=100, y=100)
SETHEADING SETH 设置海龟的朝向角度(0度为正上方) SETH 90 (海龟朝右)
HEADING 获取海龟当前的朝向角度 PRINT HEADING
XCOR 获取海龟当前的X坐标 PRINT XCOR
YCOR 获取海龟当前的Y坐标 PRINT YCOR
LOAD 从文件加载 Logo 程序(过程) LOAD "mylogo.lgo"
SAVE 将当前所有过程保存到文件 SAVE "mylogo.lgo"
ERALL 清除所有已定义的过程 ERALL
ERNAME ERN 删除指定的过程 ERNAME "SQUARE

实用技巧与示例

示例1:画一个彩色螺旋线

TO SPIRAL :size :angle
  IF :size > 200 [STOP] ; 如果尺寸过大则停止
  SETPENCOLOR :size ; 颜色随大小变化
  FD :size
  RT :angle
  SPIRAL :size + 2 :angle ; 递归调用,尺寸增加
END
SPIRAL 5 91

示例2:画一个五角星

TO STAR :size
  REPEAT 5 [
    FD :size
    RT 144
  ]
END
STAR 100

示例3:一个简单的交互式画图程序

TO DRAW
  CS HT
  PRINT "Use W/A/S/D to move, Q to quit."
  WHILE "TRUE [
    IF KEY? [
      MAKE "key READCHAR
      IF :key = "w [FD 10]
      IF :key = "s [BK 10]
      IF :key = "a [LT 90]
      IF :key = "d [RT 90]
      IF :key = "q [STOP] ; 按Q退出
    ]
  ]
  PRINT "Goodbye!
END
DRAW

希望这份大全能帮助你更好地学习和使用 Logo 语言!Logo 语言非常适合初学者理解编程的基本概念,如循环、条件、变量和递归,祝你玩得开心!

分享:
扫描分享到社交APP
上一篇
下一篇