遊樂天地

TurtleAcademy learn programming for freeYour browser is not supporting canvas We recomand you to use Chrome or Firefox browsers

In order to save your program please 登錄 報名

Turtle Motion

向前 X , 前 X

Moves the turtle x points

Example:

向前 50

Explained in lesson:

Logo's turtle

向后 X , 后 X

The turtle back x points

Example:

向后 50

Explained in lesson:

Logo's turtle

向左 X , 左 X

Rotate the turtle left x degrees

Example:

向左 90

Explained in lesson:

Logo's turtle

向右 X , 右 X

Rotate the turtle right x degrees

Example:

向右 90

Explained in lesson:

Logo's turtle

复位

Moves the turtle to center, pointing upwards

Example:

复位

Explained in lesson:

Turtle world

setx NUM_x

Move turtle to the specified X location

Example:

setx 100

Explained in lesson:

Turtle world

sety NUM_y

Move turtle to the specified Y location

Example:

sety 200

Explained in lesson:

Turtle world

setxy NUM_X NUM_Y , set pos [ NUM_X NUM_Y ]

Move turtle to the specified location

Example:

setxy 100 100

Explained in lesson:

Turtle world

设置前进方向 , seth

Rotate the turtle to the specified heading

Example:

sh 145

Explained in lesson:

Turtle world

arc ANGLE RADIUS

Will create an arc distance RADIUS covering ANGLE angle

Example:

ARC 360 5

Explained in lesson:

Turtle world

ellipse WIDTH HEIGHT

Will create an ellipse with Width and height

Example:

ellipse 80 90

Turtle Motion Queries

pos

Outputs the current turtle position as [ x y ], x or y respectively

Example:

pos

Explained in lesson:

The turtle answer

xcor

Outputs the current turtle position as [ x y ], x or y respectively

Example:

xcor

Explained in lesson:

The turtle answer

ycor

Outputs the current turtle position as [ x y ], x or y respectively

Example:

ycor

Explained in lesson:

The turtle answer

heading

Outputs the current turtle heading

Example:

heading

Explained in lesson:

The turtle answer

towards

Outputs the heading towards the specified [ x y ] coordinates

Example:

towards

Explained in lesson:

The turtle answer

Turtle and Window Control

显示海龟 , 显示海龟

Show the turtle

Example:

隐藏海龟 等 显示海龟

隐藏海龟 , 隐藏海龟

Hide the turtle

Example:

隐藏海龟

清除 , 清屏

Will clear the screen

Example:

前 60 清除

Explained in lesson:

Logo's turtle

清屏 , 清屏

Will clear the screen and return the turtle home

Example:

清屏

Explained in lesson:

Logo's turtle

fill

Does a paint bucket flood fill at the turtle's position

Example:

清屏 重复 4 [ 前 50 右 90 ] 提笔 setxy 50 50 放笔 fill

Explained in lesson:

Background

filled fillcolor [ statements ... ]

Execute statements without drawing but keeping track of turtle movements. When complete, fill the region traced by the turtle with fillcolor and outline the region with the current pen style

Example:

filled "blue [repeat 4 [fd 100 右 90]]

Explained in lesson:

Background

标签 expr

Draw a word (same logic as print) on the graphics display at the turtle location

Example:

标签 "logo 隐藏海龟

Explained in lesson:

Background

设置标签高度 expr

Set the height for text drawn by label, in pixels

Example:

设置标签高度 100 标签 "Logo 隐藏海龟

Explained in lesson:

Background

envolver

If the turtle moves off the edge of the screen it will continue on the other side

Example:

清屏 envolver 前 800

Explained in lesson:

The turtle borders

ventana

The turtle can move past the edges of the screen, unbounded.

Example:

清屏 ventana 前 600 右 90 前 100 右 90 前 70

Explained in lesson:

The turtle borders

valla

If the turtle attempts to move past the edge of the screen it will stop.

Example:

清屏 valla 前 600 右 90 前 100 右 90 前 70

Explained in lesson:

The turtle borders

Turtle and Window Queries

shownp , shown?

Outputs 1 if the turtle is shown, 0 if the turtle is hidden

Example:

show shown?

Explained in lesson:

Interactive

labelsize

Outputs the height of text drawn by label, in pixels

Example:

show labelsize

Explained in lesson:

Interactive

Pen and Background Control

提笔 , 提笔

Turtle stops leaving a trail

Example:

提笔

放笔 , 放笔

The turtle will leave a trail

Example:

放笔

设置颜色 X , 设置画笔的颜色 X
Will set the turtle color accroding to the following table
0: 黑色 1: 藍色 2: 綠黃色
3: 青色 4: 紅色 5: 紫紅色
6: 黃色 7: 白色 8: 棕色
9: tan 10: 綠色 11: 碧綠色
12: 淺橙色 13: 紫色 14: 橙色
15: 灰色

Example:

设置颜色 1

Explained in lesson:

Colors and printing

设置颜色 [r,g,b] , 设置画笔的颜色 [r,g,b]

Will set the turtle color accroding to the amount of red , green and blue

Example:

设置颜色 [50 100 50]

设置宽度 X , 设置画笔的尺寸 X

Will set the pen width to X

Example:

设置宽度 4 前 50

Explained in lesson:

The pen width

cambiarforma X or STR , cf X or STR

Will change the turtle to another shape accordin to the following 0 = "turtle", 1 = "cat", 2 = "fish", 3 = "dog", 4 = "horse", 5 = "tiger", 6 = "crab", 7 = "snail"

Example:

cf 1 or cf "dog

Explained in lesson:

Turtle world

Pen Queries

pendownp , pendown?

Outputs 1 if the pen is down, 0 otherwise

Example:

show pendown?

Explained in lesson:

Interactive

pencolor , pc

Outputs the current pen color. This will be a CSS color string, not necessarily the value passed in.

Example:

show pencolor

Explained in lesson:

Interactive

pensize

Outputs a two element list with the pen width and height (usually the same).

Example:

show pensize

Explained in lesson:

Interactive

Procedure Definition

到 PROCNAME inputs ... statements ... end

Define a new named procedure with optional inputs

Example:

到 TURTLE 重复 4 [ 前 50 右 90] 结束

Explained in lesson:

The turtle is learning

define PROCNAME inputs ... statements ... end

Define a new named procedure with optional inputs

Example:

define "star [[n][repeat 5 [fd :n 右 144]]]

def PROCNAME

Outputs the definition of a named procedure as a string

Example:

show def "star

Variable Definition

定义 varname expr

Update a variable or define a new global variable. The variable name must be quoted

Example:

定义 "foo 5

Explained in lesson:

Variables

name expr varname

Like make but with the inputs reversed

Example:

name 5 "myvar

Explained in lesson:

No lesson yet

localmake varname expr

Define a variable in the local scope (shortcut for local then make

Example:

localmake "myvar 5

Explained in lesson:

No lesson yet

: VARNAME , thing VARNAME

Outputs the value of variable. :foo is a shortcut for thing "foo

Example:

show thing "myvar

Explained in lesson:

Variables

Control Structures

重复 X [ statements ... ]

Repeat statements X times

Example:

重复 4 [ 前 50 右 90]

Explained in lesson:

Loops

循环 controllist [ statements ...]

Typical for loop. The controllist specifies three or four members: the local varname, start value, limit value, and optional step size

Example:

循环 [i 1 10 1] [print :i]

Explained in lesson:

The for loop

重复次数

Outputs the current iteration number of the current repeat or forever

Example:

重复 4 [ 重复次数 ]

if expr [statement]

Execute statment if expressoin is true

Example:

if 2>1 [print "hello]

ifelse expr [statementTrue] [statementFalse]

Execute StatementTrue if tru else execute statementFalse

Example:

ifelse 0>1 [print "true] [print "false]

test expr

Test the specified expression save the result in the local scope for the subsequent use by iftrue iffalse

Example:

test 3>4 iftrue [print "true] iffalse [print "false]

iftrue [statements]

Example:

test 3>4 iftrue [print "true] iffalse [print "false]

iffalse [statements]]

Example:

test 3>4 iftrue [print "true] iffalse [print "false]

等 X

Will cause the turtle to wait X ( 60ths of seconds ) time before executing the command

Example:

重复 4 [ 等 10 前 50]

Explained in lesson:

Hi wait

adios

Ternimante the program

Example:

adios

dotimes [varname times] [ statements ...]

Run the statements the specified number of times. The variable varname is set to the current iteration number.

Example:

dotimes [ i 5 ] [ show :i * :i ]

do.while [ statements ...] expr

Runs the specified statements at least once, and repeats while the expression is non-zero (true).

Example:

do.while [ 定义 "a 隨機 10 show :a ] :a < 8

while [expr] [ statements ...]

Runs the specified statements only while the expression remains non-zero (true).

Example:

while (random 2) = 0 [ show "zero ] show "one

do.until [ statements ...] [expr]

Runs the specified statements at least once, and repeats while the expression is zero (false).

Example:

do.until [ 定义 "a 隨機 10 show :a ] :a < 8

until [expr] [ statements ...]

Runs the specified statements only while the expression remains zero (false).

Example:

until (random 2) = 0 [ show "one ] show "zero

Lists

列表 thing1 thing2 ...

Create a new list from the inputs

Example:

定义 "mylist (list "turtle "academy)

Explained in lesson:

Lists

第一個 listname

Outputs the first item from the list

Example:

打印 第一個 :mylist

Explained in lesson:

Lists

butfirst listname

Outputs all the items of listname except for the first item

Example:

打印 butfirst :mylist

Explained in lesson:

Accessing the list

最後一個 listname

Outputs the last item from the list

Example:

打印 最後一個 :mylist

Explained in lesson:

Lists

butlast listname

Outputs all the items of listname except for the last item

Example:

打印 butlast :mylist

Explained in lesson:

Accessing the list

item index listname

Outputs the indexlist item of the list or array

Example:

打印 item 1 :mylist

Explained in lesson:

Accessing the list

pick index listname

Outputs one item from a list, at random

Example:

打印 pick :mylist

Explained in lesson:

Accessing the list

Math

合計 X Y

Will sum x+y

Example:

打印 合計 2 3

Explained in lesson:

Variables

减 X Y

return the distance between x and y x-y

Example:

打印 减 8 2

隨機 X

Will choose a random number between 0 - (X-1)'

Example:

清屏 打印 合計 隨機 10 3

Explained in lesson:

Colors and printing

modulo expr expr

Outputs the remainder (modulus). For remainder and % the result has the same sign as the first input; for modulo the result has the same sign as a the second input.

Example:

清屏 打印 modulo 10 3

power expr expr

3 power 4 = 81

Example:

show power 3 4

Receivers

leerpalabra

Prompt the user for a line of input. The result (including spaces) is the single word output.

Example:

定义 "name (readword [What is your name?]) show :name

Explained in lesson:

Interactive

leerlista

Prompt the user for a line of input. The result is a list of words.

Example:

定义 "colors (readlist [Type some colors:]) show :colors

Predicates

word thing , word? thing

Returns true (1) or false (0) if thing is a word

Example:

show word "hello

listp thing , list? thing

Returns true (1) or false (0) if thing is a list

Example:

打印 listp [1 2 3]

arrayp thing , array? thing

Returns true (1) or false (0) if thing is an array

Example:

打印 arrayp array 2

numberp thing , number? thing

Returns true (1) or false (0) if thing is a number

Example:

打印 numberp 25

emptyp thing , empty? thing

Test if thing is an empty list or empty string.

Example:

打印 emptyp []

equalp expr expr , equal? expr expr

Test if xper expr are equal.

Example:

equalp "no "yes

notequalp expr expr , notequal? expr expr

Test if xper expr are not equal.

Example:

notequalp "no "yes

beforep thing1 , before? thing1

Test string collation order.

Example:

打印 before? "bye "hi

substringp thing1 thing2 , substring? thing1 thing2

Test if thing1 is a substring of thing2.

Example:

打印 substringp "hello "helloworld