Are there any open source/free LOGO implementations that support dynaturtles? [closed]
-
08-07-2019 - |
Question
I'm looking for an implementation of the LOGO programming language that supports 'dynaturtles' - animated turtles that can programmatically change shape, speed and direction as well as detect collisions with each other or other objects in the environment.
Back in the mists of time when the earth was new and 8 bit micros ruled supreme, Atari LOGO did this famously well. One could create all sorts of small games and simulated environments using this technique very easily as that implementation of the language had a very well thought out, elegant syntax.
I know about LCSI's Microworlds but I'm looking for something I can use to get some friends and their kids involved in programming without breaking my budget.
Solution
Digging around a bit online, I've found OpenStarLogo. Though they don't specifically mention "dynaturtles" the docs do mention collision detection. The site has code and documentation downloads.
From this wikipedia article, under the Implementations section, there is a PDF listing known current and antique implementations. Some of these, such as StarLogo TNG and Elica have support for 3D objects. These are definitely not like the LOGO programs I wrote as a kid...
OTHER TIPS
I use microworlds for my logo... I know of kturtle for kde kturtle
I also found a few links that could be interesting
python turtle
fmslogo
MSWlogo
Check out the turtle python package. It is in the standard python distribution and it supports a graphical turtle interface.
If you use win-logo (www.win-logo.de/eng/e_index.htm; you must register and then you can try for 30 days), you can practise this code (german version Nr. 2):
PR test
;* ##### Startdatei ######
SETZE "sprung.x" 0
SETZE "sprung.y" 0
flug
ENDE
PR flug
sprung
tasten
flug
ENDE
PR sprung
SETZE "sprung.x" :sprung.x + (SIN KURS)/2
SETZE "sprung.y" :sprung.y + (COS KURS)/2
AUFXY (XKO + :sprung.x) (YKO + :sprung.y)
ENDE
PR tasten
SETZE "t" TASTE
WENN :t = "d" DANN LI 30
WENN :t = "e" DANN DZ "Abbruch!" AUSSTIEG
WENN :t = "f" DANN RE 30
WENN :t = "h" DANN sprung
tasten
ENDE
OK? Greetings. Michael Kraus
Two additions to my post of yesterday, concerning LOGO-procedures with dynaturtle:
1.) the key "d" is NUM 4
the key "e" is NUM 5
the key "f" is NUM 6
the key "h" is NUM 8
2.) After hitting "e" = NUM 5 to stop the recursive procedures, you have also to click the exit-button. - I have tried to find out why, but I have no idea.
Michael Kraus