Small Basic:龟标(Turtle)(zh-CN)

本文介绍Small Basic编程语言中的龟标操作。

什么是龟标?

龟标来自Logo编程语言。它被称为Turtle Graphics。转动和移动龟标会产生图形形状。有关龟标历史的详细信息写在这篇TechNet Wiki文章中:《Small Basic:龟标的历史》

Turtle``.``Show``(``)

上面的这一行代码使龟标显现(如下图)

属性

Turtle对象具有以下四个属性:

  • Angle——获取并设置龟标的角度(单位是°)。默认值为0。
  • Speed——获取并设置乌龟的速度(1到10)。预设值为5。
  • X——获取或设置龟的X位置。默认值为320。
  • Y——获取或设置乌龟的Y位置。默认值为240。

​操作

Turtle对象中有以下九个操作。这些操作不返回任何值。

  • Hide()——隐藏龟标。 
  • Move(distance)——将龟标移动指定的距离(单位是像素)。
  • MoveTo(x,y)——转动龟标并将其移动到指定位置。
  • PenDown()——落笔。
  • PenUp()——抬笔
  • Show()——显示龟标
  • Turn(Angle)——将龟标旋转指定角度(单位是°)。
  • TurnLeft()——将乌龟向左旋转90度。
  • TurnLeft()——将乌龟向右旋转90度。

​已知的问题

有一个已知的问题:如果曾将其隐藏,则无法显示。这意味着使用GraphicsWindow.Clear()也只能清除一次乌龟图形(拖尾)。

​解决方法:

​示例代码

' Turtle Object Code Sample

 

' Turtle.Show() operation

Turtle``.``Show``(``)

 

' Turtle.PenUp() and Turtle.MoveTo() operations

Turtle``.``PenUp``(``)

x ``= ``320

y ``= ``400

Turtle``.``MoveTo``(``x``, ``y``)

 

' Turtle.Angle property

Turtle``.``Angle ``= ``45

 

' show properties

GraphicsWindow``.``BrushColor ``= ``"Gray"

GraphicsWindow``.``DrawText``(``10``, ``10``, ``"Turtle.X=" ``+ ``Turtle``.``X``)

GraphicsWindow``.``DrawText``(``10``, ``30``, ``"Turtle.Y=" ``+ ``Turtle``.``Y``)

GraphicsWindow``.``DrawText``(``10``, ``50``, ``"Turtle.Angle=" ``+ ``Turtle``.``Angle``)

GraphicsWindow``.``DrawText``(``10``, ``70``, ``"Turtle.Speed=" ``+ ``Turtle``.``Speed``)

Program``.``Delay``(``3000``)

 

' Turtle.PenDown() operation

Turtle``.``PenDown``(``)

GraphicsWindow``.``PenColor ``= ``"Red"

 

' Turtle.Move() operation

distance ``= ``130

Turtle``.``Move``(``distance``)

 

' Turtle.Turn() and Turtle.Move operations

angle ``= ``-``90

Turtle``.``Turn``(``angle``)

Turtle``.``Move``(``distance``)

 

' Turtle.TurnRight() and Turtle.Move operations

Turtle``.``TurnRight``(``)

Turtle``.``Move``(``distance``)

 

' Turtle.TurnLeft() and Turtle.Move operations

Turtle``.``TurnLeft``(``)

Turtle``.``Move``(``distance``)

 

' Turtle.Hide() operation

Turtle``.``Hide``(``)

​​

示例程序

  • Another Turtle Graphics 0.5b (XVK119-3) - 简单的Logo语言程序
  • Brownian Motion (RFV485) - 布朗运动演示
  • Dragon and Turtle 0.6b (HMP803-5) - 格斗游戏
  • Hilbert Curve (CMN910) - 绘制希尔伯特曲线
  • One Stroke Solver 0.2 (FST624-0) - 解决一个行程路径问题
  • Turtle Brick 0.1 (KDH145) -龟标砌建筑
  • Turtle Dodger 0.5b (QZN342-3) - 简单的游戏
  • Turtle Flash 0.3 (RBN002-1) -显示Flash动画
  • Turtle Maze 1.62 (PNC833-19) - 迷宫游戏
  • Optical Illusion #01 (TQH071) -没有使用Turtle对象,但是有Image
  • Turtle Marionette (VTD423-0) - 没有使用Turtle对象,但是有Image

​其他资源

​参见

其他语言