How do I move the turtle in LOGO?


The first thing you have to do is write tests, then you can worry about moving the turtle.

232 accepted
FD 75
RT 54
LT 21
BK 17

Check out some other turtle commands found here...

Turtle Commands

BACK ## [BK] - Move turtle back

BACKGROUND ## [BG] - Set Background color (0-15)

  • 0 - Black
  • 1 - White
  • 2 - Red
  • 3 - Cyan
  • 4 - Purple
  • 5 - Green
  • 6 - Blue
  • 7 - Yellow
  • 8 - Orange
  • 9 - Brown
  • 10 - Light Red
  • 11 - Grey 1
  • 12 - Grey 2
  • 13 - Light Green
  • 14 - Light Blue
  • 15 - Grey 3

CLEARSCREEN [CS] - Clear Screen without moving turtle

DRAW - Clear Screen and take turtle home

EACH - Tell several sprites, whose numbers are in a list, to accept commands in a second list. EG. EACH [1 2] [SQUARE 10]

FORWARD ## [FD] - Move turtle forward

FULLSCREEN - Full graphics screen (same as pressing F5)

HEADING - Output turtle heading as a number (0-359)

HIDETURTLE [HT] - Make turtle invisible

HOME - Move turtle to center of screen pointing up

LEFT [LT] - Turn turtle left

NODRAW [ND] - Enter text mode with clear screen

NOWRAP - Prevent drawings from wrapping around screen

PENCOLOR [PC] - Change pen color

PENDOWN [PD] - Turtle leaves trail

PENUP [PU] - Turtle ceases to leave trail

RIGHT ## [RT] - Turn turtle right

SETHEADING **[SETH]** - Set turtle heading eg. SETH 180

SETSHAPE - Set the current sprite shape (0-7)

SETX Move the turtle to the specified x co-ordinates Eg. SETX 50

SETXY Move the turtle to the specified x, y co-ordinates Eg. SETXY 50 50

SETY Move the turtle to the specified y co-ordinate Eg. SETY 50

SHAPE - Output number of current sprite's shape

SHOWTURTLE [ST] - Make turtle visible

SPLITSCREEN - Mixed graphics and text screen (same as pressing F3)

STAMPCHAR - Make the turtle stamp a character at the current location Eg. STAMPCHAR "A

TELL - Tell designated sprite to receive commands. EG. TELL 2

TEXTSCREEN - Use whole screen for text (same as pressing F1)

TOWARDS - Output heading for turtle to face an X,Y co-ordinate. Eg. TOWARDS 0 0

WRAP - Make turtle drawings wrap around the screen

XCOR - Output current x co-ordinate of turtle

YCOR - Output current y co-ordinate of turtle

ASPECT - Set verticle screen scale factor, default is 0.76

Samples taken directly from website: http://gaza.freehosting.net/logo/index.html


First, you have to understand that there is a lot of legacy turtle-moving code at Fog Creek in VBScript. This code contains years of bugfixes and special cases for turtle-moving. If you re-write it from scratch you are asking for disaster. Plus, it would set back the next release by months. Customers want new features, such as new turtle shapes and 3D motion, and they literally don't care what the code looks like. They just want to move their turtle.

It's actually easier to write your own compiler to translate your legacy code into Logo. This allows you to add other features to the language that VBScript didn't originally support, like Excel macros. It's not that hard, as long as you hire someone smart.


Boy: Do not try to move the turtle; that's impossible. Instead, only try to realize the truth.
Joel: What truth?
Boy: There is no turtle.
Joel: There is no turtle?
Boy: Then you will see, it is not the turtle that moves, it is only yourself.


i like turtles


Logo is all about moving the turtle... you give it commands like this:

Forward 100
Right 45

You can do stuff like repeating commands too:

Repeat 8 [Forward 100 Right 45]  ; Draw an octagon

(What do I win? 8-)


How do you move the turtle in LO

GO? That's not a language we know.

Can turtle still move, if language is dead?

Can language still move, if syntax is shed?

Or maybe a new kind of language instead!

Okay if the movement is just in my head?

How do you move the turtle in LO

GO? ... you could try STACKOVERFLOW.


Don't forget PENUP and PENDOWN. Otherwise you'll move the turtle, but not see his track. Also change the color of the pen, and the background color of the paper.


A croquet mallet ?


Moving the turtle is very cumbersome. I recommend that you try TurtleQuery. It makes everything way easier by abstracting away the turtle.


Ask not what the turtle can do for you, but what you can do for the turtle.


This seems somewhat philosophical - is the turtle an inherent part of the language, or part of its library? Ie., is the turtle more part of a LOGO library that exists only in interpreter-land, or is the turtle part of the LOGO language itself?

If we're speaking in terms of the language definition, I guess no, there really isn't a way to move the turtle. If we're speaking about an actual interpreted LOGO program, any of the answers where others describe turtle commands are valid.

I'm a pragmatist though, and thus like the idea of speaking of a concrete LOGO entity. That, of course, allows you to move the turtle using turtle commands.


It runs when you say Boo!


You go here... http://www.sonic.net/~nbs/webturtle/webturtle.cgi


Whoa! Is it still around?

fd 300 // Forward
rt 90  // Right 90°
fd 300 
lt 90  // Left 90°

That used to work.


If you've got one of the actual robotic ones (we did at school) then a good "foot up the behind" gets it moving pretty well.


Move the monitor


You should totally drop that and try jQuery.


Use the force, Joel. Use the force.


Have you tried JavaScript?


I've seen a few LOGO implementations where you can use localized commands like:

  • LEWO (LEFT),

or even NAPRZÓD (with Polish letter Ó).

LOGO is nice language to teach kids programming in their native spoken language.


?Ne craignez point, monsieur, la tortue? Leibniz ( do not fear the turtle )


There is an art to moving the turtle, or rather a knack. The idea is to throw the paper at the turtle ...


First, you will need to somehow load the core Win32 APIs from User32.dll as external functions so you can create a graphics context from the window where you want the turtle to be. I myself do not know how to do this with LOGO, but I know there are some other experts which are willing to help you out here. Note that LOGO is an old language, so if you are working in a 16 bit environment, you will likely need to properly thunk the appropriate DLLs. Next, you will need to load the turtle bitmap from your resource file, or alternatively, from your executable should your resources be direct-compiled into your build artifacts.

Now be careful about your resources here. If you don't properly dispose of your graphics contexts, bitmaps, and pens, your Windows machine could run out of handles. Next, you'll want to intercept the WM_PAINT message and then check against your main timer routine to make sure that it's time for the turtle to move. Take care not to call a turtle moving procedure from a worker thread, or you could experience stability problems, especially if you try to marshal your resources across thread boundaries.

Now then, it is important to understand that you will need to repaint any areas of the turtle, once moved, if and when your window's area is invalidated. In order to do this efficiently, you will need to use the parameters supplied with the WM_PAINT message to properly establish your clipping rectangle so that performance does not suffer if only a small region of your window is invalidated.


try: bk(back), fd(forward), ld(left turn in degrees), rt(right turn)


Try the story about the dying kid and the firefighters. You might need to adapt it slightly.


By issuing commands in the correct syntax. E.G.:

forward 100

There is only one necessary command to move the turtle. It is forward which has the mnemonic fd. When working with a robot (real) turtle as opposed to a graphics based (virtual) one, you might find that the turning commands left and right [lt & rt] move the turtle a little, accidentally.

Most implementations also allow the command backwards [bk].

When the turtle moves, it may draw a line as it goes depending on whether the pen is up or down at the time, and whether the current pen color is different from the background color.

A graphics based (virtual) turtle can also jump around the screen with setx, sety, and setxy


I'd start by first working my way through K&R C to improve your programming skills! ;-)


Of course, when using Logo to tell turtles to do things you might want to use the shell and you would use TortoiseSVN for the source repository.


This brings back lots of memories... so many school breaks spent alone in the room with the computers, programming without knowing what the heck i was exactly doing.

Good times.


Zombie kid loves turtles, too :)


You cannot move the turtle. The turtle must move itself.


SmallBasic has a Turtle too.


There is no turtle. It is you that moves.


"LOGO considered harmful" did not return any result on Google. I consider this to be a very good sign.


A real hacker makes turtles DANCE ... or even FLY! (think Monty Python Cow).


Create your own logo language is a good exercise to learn writting a lexer and a parser by the way.


Ask the turtle itself or press F1.