![]() |
Forum Index : Microcontroller and PC projects : CMM2: Observations on using TURTLE graphics with a 6 year old
Author | Message | ||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
And now for something completely different ... My 6 year old had been playing with Pro-Bots at school yesterday so I decided to try and show her what the CMM2 could do with its TURTLE command. The following are some observations/suggestions that I believe would improve the experience. I provide them purely for information and with no particular expectation that other than the bug they will be addressed. 1. There is a BUG, try typing this: TURTLE RESET TURTLE FORWARD 100 TURTLE TURTLE FORWARD 100 The syntax error caused by line 3 causes line 4 to do nothing. 2. TURTLE DRAW TURTLE should, rather than just blitting a turtle to the screen be replaced by a toggle which controls whether the turtle (sprite) is shown at the current point or not. For bonus points make the sprite configurable, so it could, for example be a car. The "standard" LOGO commands would be "HIDETURTLE" / "HT" and "SHOWTURTLE" / "ST". 3. For "compatibility" with other LOGOs add support for the following aliases for the sub-commands: - "RIGHT" / "RT" as aliases for "TURN RIGHT" - "LEFT" / "LT" as aliases for "TURN LEFT" - "PENUP" / "PU" as aliases for "PEN UP" - "PENDOWN" / "PD" as aliases for "PEN DOWN" - "CIRCLE" as an alias for "DRAW CIRCLE" - "CLEARSCREEN" / "CS" as aliases for "RESET" - "SETXY" as an alias for "MOVE" - "SETHEADING" / "SETH" as aliases for "HEADING" 4. Add the following TURTLE sub-commands: - HOME - SETPENSIZE w - SETX x - SETY y - there are probably others, but where do you stop ? Alas the biggest issue for a beginner, and I'm not certain how addressable it is without actually implementing a proper LOGO (in MMBasic) is that typing commands at the interactive MMBasic will ultimately scroll the VGA screen (though the turtle location stays where it is) and thus makes nonsense of whatever you are trying to draw with the TURTLE command in interactive mode. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
jirsoft![]() Guru ![]() Joined: 18/09/2020 Location: Czech RepublicPosts: 533 |
Hi Tom, I think, it can be solved with user program, not need changes in MMBasic. I can try to visualize my ideas for solution of your suggestions in simple app and put it to CMM2.fun... Jiri Napoleon Commander and SimplEd for CMM2 (GitHub), CMM2.fun |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
Hi Jiri, Sure it's "easy" to write a user-program version of LOGO and you don't need to do so for me. My observations were based on the fact that if the CMM2/MMBasic is going to have a Turtle Graphics command then it would be nice if it had better adherance to "standard" LOGO. I think you could make a very good argument that the CMM2 shouldn't have the TURTLE command at all, but that isn't where we are, i.e. it does, and there are several Welcome Tape examples that depend upon it. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
jirsoft![]() Guru ![]() Joined: 18/09/2020 Location: Czech RepublicPosts: 533 |
Yes Tom, you are right, but when already TURTLE commands are included, so user program can use them and will be much easier to write. And the idea wasn't to do it just for you, but maybe give the easier and better program experience mainly to children as yours one... I will for sure not write LOGO in MMBasic, but more make more user friendly possibility to play with existing commands. Have a smooth day Edited 2021-11-30 22:06 by jirsoft Jiri Napoleon Commander and SimplEd for CMM2 (GitHub), CMM2.fun |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |