Using commands you tell the turtle or KTurtle to do something. Some commands need input, some give output. In this section we explain all the built-in commands of KTurtle. Alternatively, using learn
, you can create your own commands. Built-in commands we discuss here are highlighted with dark blue.
There are several commands to move the turtle over the screen.
- forward (fw)
forward X
forward
moves the turtle forward by the amount of X pixels. When the pen is down the turtle will leave a trail. forward
can be abbreviated to fw
.
- backward (bw)
backward X
backward
moves the turtle backward by the amount of X pixels. When the pen is down the turtle will leave a trail. backward
can be abbreviated to bw
.
- turnleft (tl)
turnleft X
turnleft
commands the turtle to turn an amount of X degrees to the left. turnleft
can be abbreviated to tl
.
- turnright (tr)
turnright X
turnright
the turtle to turn an amount of X degrees to the right. turnright
can be abbreviated to tr
.
- direction (dir)
direction X
direction
set the turtle's direction to an amount of X degrees counting from zero, and thus is not relative to the turtle's previous direction. direction
can be abbreviated to dir
.
- getdirection
getdirection
getdirection
returns the turtle's direction as an amount of degrees counting from zero, where zero is the direction when the turtle is pointing upwards.
- center
center
center
moves the turtle to the center on the canvas.
- go
go X,Y
go
commands the turtle to go to a certain place on the canvas. This place is X pixels from the left of the canvas, and Y pixels from the top of the canvas.
- gox
gox X
gox
using this command the turtle will move to X pixels from the left of the canvas whilst staying at the same height. gox
can be abbreviated to gx
.
- goy
goy Y
goy
using this command the turtle will move to Y pixels from the top of the canvas whilst staying at the same distance from the left border of the canvas. goy
can be abbreviated to gy
.
Note
Using the commands go
, gox
, goy
and center
the turtle will not draw a line, no matter if the pen is up or down.
There are two commands which return the position of the turtle on the screen.
- getx
getx
returns the number of pixels from the left of the canvas to the current position of the turtle.
- gety
gety
returns the number of pixels from the top of the canvas to the current position of the turtle.
The turtle has a pen that draws a line when the turtle moves. There are a few commands to control the pen. In this section we explain these commands.
- penup (pu)
penup
penup
lifts the pen from the canvas. When the pen is “up” no line will be drawn when the turtle moves. See also pendown
. penup
can be abbreviated to pu
.
- pendown (pd)
pendown
pendown
presses the pen down on the canvas. When the pen is press “down” on the canvas a line will be drawn when the turtle moves. See also penup
. pendown
can be abbreviated to pd
.
- penwidth (pw)
penwidth X
penwidth
sets the width of the pen (the line width) to an amount of X pixels. penwidth
can be abbreviated to pw
.
Commands to control the canvas
There are several commands to control the canvas.
- canvassize (cs)
canvassize X,Y
With the canvassize
command you can set the size of the canvas. It takes X and Y as input, where X is the new canvas width in pixels, and Y is the new height of the canvas in pixels. canvassize
can be abbreviated to cs
.
- canvascolor (cc)
canvascolor R,G,B
canvascolor
set the color of the canvas. canvascolor
takes an RGB combination as input. canvascolor
can be abbreviated to cc
.
There are two commands to clean up the canvas after you have made a mess.
- clear (ccl)
clear
With clear
you can clean all drawings from the canvas. All other things remain: the position and angle of the turtle, the canvascolor, the visibility of the turtle, and the canvas size.
- reset
reset
reset
cleans much more thoroughly than the clear
command. After a reset
command everything is like is was when you had just started KTurtle. The turtle is positioned at the middle of the screen, the canvas color is white, the turtle draws a black line on the canvas and the canvassize is set to 400 x 400 pixels.
First a brief explanation of what sprites are: sprites are small pictures that can be moved around the screen, like we often see in computer games. Our turtle is also a sprite. For more info see the glossary on sprites.
Next you will find a full overview on all commands to work with sprites.
Note
The current version of KTurtle does not yet support the use of sprites other than the turtle. With future versions you will be able to change the turtle into something of your own design.
- spriteshow (ss)
spriteshow
spriteshow
makes the turtle visible again after it has been hidden. spriteshow
can be abbreviated to ss
.
- spritehide (sh)
spritehide
spritehide
hides the turtle. This can be used if the turtle does not fit in your drawing. spritehide
can be abbreviated to sh
.
The answer is: “yes”. The turtle can write: it writes just about everything you command it to.
- print
print X
The print
command is used to command the turtle to write something on the canvas. print
takes numbers and strings as input. You can print
various numbers and strings using the “+” symbol. See here a small example:
$year = 2003
$author = "Cies"
print $author + " started the KTurtle project in " + $year + " and still enjoys working on it!"
- fontsize
fontsize X
fontsize
sets the size of the font that is used by print
. fontsize
takes one input which should be a number. The size is set in pixels.
The following commands are KTurtle's more advanced mathematical commands.
- round
round(x)
round
the given number to the nearest integer.
print round(10.8)
forward 20
print round(10.3)
With this code the turtle will print the numbers 11 and 10.
- random (rnd)
random X,Y
random
is a command that takes input and gives output. As input are required two numbers, the first (X) sets the minimum output, the second (Y) sets the maximum. The output is a randomly chosen number that is equal or greater than the minimum and equal or smaller than the maximum. Here a small example:
repeat 500 {
$x = random 1,20
forward $x
turnleft 10 - $x
}
Using the random
command you can add a bit of chaos to your program.
- mod
mod X,Y
The mod
returns remainder of the division of first number by the second number.
- sqrt
sqrt X
The sqrt
command is sued to find the square root of a number, X.
- pi
pi
This command returns the constant Pi, 3.14159
.
- sin, cos, tan
sin X
cos X
tan X
These three commands represent the world famous trigoniometrical functions sin
, cos
and tan
. The input argument of these commands, X, is a number.
- arcsin, arccos, arctan
arcsin X
arccos X
arctan X
These commands are the inverse functions of sin, cos and tan. The input argument of these commands, X, is a number.
Input and feedback through dialogs
A dialog is a small pop-up window that provides some feedback or asks for some input. KTurtle has two commands for dialogs, namely: message
and ask
- message
message X
The message
command takes a string as input. It shows a pop-up dialog containing the text from the string.
message "Cies started KTurtle in 2003 and still enjoys working on it!"
- ask
ask X
ask
takes a string as input. It shows this string in a pop-up dialog (similar to message), along with an input field. After the user has entered a number or a string into this, the result can be stored in a variable or passed as an argument to a command. For example:
$in = ask "What is your year of birth?"
$out = 2003 - $in
print "In 2003 you were " + $out + " years old at some point."
If the user cancels the input dialog, or does not enter anything at all, the variable is empty.