Diversão
Para salvar seu programa, por favor Acesso ou registrar-se
Turtle Motion
parafrente X , pf X
Moves the turtle x points
Example:
parafrente 50
Explained in lesson:
giraesquerda X , ge X
Rotate the turtle left x degrees
Example:
giraesquerda 90
Explained in lesson:
giradireita X , gd X
Rotate the turtle right x degrees
Example:
giradireita 90
Explained in lesson:
paracentro
Moves the turtle to center, pointing upwards
Example:
paracentro
Explained in lesson:
mudex NUM_x
Move turtle to the specified X location
Example:
mudex 100
Explained in lesson:
mudey NUM_y
Move turtle to the specified Y location
Example:
mudey 200
Explained in lesson:
mudexy NUM_X NUM_Y , set pos [ NUM_X NUM_Y ]
Move turtle to the specified location
Example:
mudexy 100 100
Explained in lesson:
mudedireção , muded
Rotate the turtle to the specified heading
Example:
sh 145
Explained in lesson:
arco ANGLE RADIUS
Will create an arc distance RADIUS covering ANGLE angle
Example:
ARC 360 5
Explained in lesson:
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:
coorx
Outputs the current turtle position as [ x y ], x or y respectively
Example:
coorx
Explained in lesson:
coory
Outputs the current turtle position as [ x y ], x or y respectively
Example:
coory
Explained in lesson:
direçãopara
Outputs the heading towards the specified [ x y ] coordinates
Example:
direçãopara
Explained in lesson:
Turtle and Window Control
ocultetat , ot
Hide the turtle
Example:
ocultetat
Explained in lesson:
apaguedesenho , tat
Will clear the screen
Example:
pf 60 apaguedesenho
Explained in lesson:
tartaruga , tat
Will clear the screen and return the turtle home
Example:
tat
Explained in lesson:
pinte
Does a paint bucket flood fill at the turtle's position
Example:
tat repita 4 [ pf 50 gd 90 ] un mudexy 50 50 ul pinte
Explained in lesson:
pintenofinal 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:
pintenofinal "blue [repeat 4 [fd 100 gd 90]]
Explained in lesson:
rotule expr
Draw a word (same logic as print) on the graphics display at the turtle location
Example:
rotule "logo ot
Explained in lesson:
mudealturarótulo expr
Set the height for text drawn by label, in pixels
Example:
mudealturarótulo 100 rotule "Logo ot
Explained in lesson:
envolver
If the turtle moves off the edge of the screen it will continue on the other side
Example:
tat envolver pf 800
Explained in lesson:
ventana
The turtle can move past the edges of the screen, unbounded.
Example:
tat ventana pf 600 gd 90 pf 100 gd 90 pf 70
Explained in lesson:
valla
If the turtle attempts to move past the edge of the screen it will stop.
Example:
tat valla pf 600 gd 90 pf 100 gd 90 pf 70
Explained in lesson:
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:
labelsize
Outputs the height of text drawn by label, in pixels
Example:
show labelsize
Explained in lesson:
Pen and Background Control
usenada , un
Turtle stops leaving a trail
Example:
usenada
Explained in lesson:
uselápis , ul
The turtle will leave a trail
Example:
uselápis
Explained in lesson:
mudecl X , mudecl X
0: preto | 1: azul | 2: lima |
3: ciano | 4: vermelho | 5: magenta |
6: amarelo | 7: branco | 8: marrom |
9: tan | 10: verde | 11: águamarinha |
12: salmão | 13: roxo | 14: laranja |
15: cinza |
Example:
mudecl 1
Explained in lesson:
mudecl [r,g,b] , mudecl [r,g,b]
Will set the turtle color accroding to the amount of red , green and blue
Example:
mudecl [50 100 50]
mudelargura X , mudeespl X
Will set the pen width to X
Example:
mudelargura 4 pf 50
Explained in lesson:
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:
Pen Queries
pendownp , pendown?
Outputs 1 if the pen is down, 0 otherwise
Example:
show pendown?
Explained in lesson:
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:
pensize
Outputs a two element list with the pen width and height (usually the same).
Example:
show pensize
Explained in lesson:
Procedure Definition
aprenda PROCNAME inputs ... statements ... end
Define a new named procedure with optional inputs
Example:
aprenda TURTLE repita 4 [ pf 50 gd 90] fim
Explained in lesson:
define PROCNAME inputs ... statements ... end
Define a new named procedure with optional inputs
Example:
define "star [[n][repeat 5 [fd :n gd 144]]]
def PROCNAME
Outputs the definition of a named procedure as a string
Example:
show def "star
Variable Definition
atribua varname expr
Update a variable or define a new global variable. The variable name must be quoted
Example:
atribua "foo 5
Explained in lesson:
name expr varname
Like make but with the inputs reversed
Example:
name 5 "myvar
Explained in lesson:
localmake varname expr
Define a variable in the local scope (shortcut for local then make
Example:
localmake "myvar 5
Explained in lesson:
: VARNAME , thing VARNAME
Outputs the value of variable. :foo is a shortcut for thing "foo
Example:
show thing "myvar
Explained in lesson:
Control Structures
repita X [ statements ... ]
Repeat statements X times
Example:
repita 4 [ pf 50 gd 90]
Explained in lesson:
façapara controllist [ statements ...]
Typical for loop. The controllist specifies three or four members: the local varname, start value, limit value, and optional step size
Example:
façapara [i 1 10 1] [print :i]
Explained in lesson:
contevezes
Outputs the current iteration number of the current repeat or forever
Example:
repita 4 [ contevezes ]
se expr [statement]
Execute statment if expressoin is true
Example:
se 2>1 [print "hello]
sesenão expr [statementTrue] [statementFalse]
Execute StatementTrue if tru else execute statementFalse
Example:
sesenão 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 severd [print "true] sefalso [print "false]
severd [statements]
Example:
test 3>4 severd [print "true] sefalso [print "false]
sefalso [statements]]
Example:
test 3>4 severd [print "true] sefalso [print "false]
X
Will cause the turtle to wait X ( 60ths of seconds ) time before executing the command
Example:
repita 4 [ 10 pf 50]
Explained in lesson:
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 [ atribua "a sorteie 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 [ atribua "a sorteie 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
lista thing1 thing2 ...
Create a new list from the inputs
Example:
atribua "mylist (list "turtle "academy)
Explained in lesson:
primeiro listname
Outputs the first item from the list
Example:
escreva primeiro :mylist
Explained in lesson:
semprimeiro listname
Outputs all the items of listname except for the first item
Example:
escreva semprimeiro :mylist
Explained in lesson:
último listname
Outputs the last item from the list
Example:
escreva último :mylist
Explained in lesson:
semúltimo listname
Outputs all the items of listname except for the last item
Example:
escreva semúltimo :mylist
Explained in lesson:
item index listname
Outputs the indexlist item of the list or array
Example:
escreva item 1 :mylist
Explained in lesson:
escolha index listname
Outputs one item from a list, at random
Example:
escreva escolha :mylist
Explained in lesson:
Math
oposto X Y
return the distance between x and y x-y
Example:
escreva oposto 8 2
sorteie X
Will choose a random number between 0 - (X-1)'
Example:
tat escreva soma sorteie 10 3
Explained in lesson:
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:
tat escreva 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:
atribua "name (readword [What is your name?]) show :name
Explained in lesson:
leerlista
Prompt the user for a line of input. The result is a list of words.
Example:
atribua "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:
escreva listp [1 2 3]
arrayp thing , array? thing
Returns true (1) or false (0) if thing is an array
Example:
escreva arrayp array 2
numberp thing , number? thing
Returns true (1) or false (0) if thing is a number
Example:
escreva numberp 25
emptyp thing , empty? thing
Test if thing is an empty list or empty string.
Example:
escreva 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:
escreva before? "bye "hi
substringp thing1 thing2 , substring? thing1 thing2
Test if thing1 is a substring of thing2.
Example:
escreva substringp "hello "helloworld