MSWLogo
MSWLogo is a programming language which is interpreted, based on the computer language Logo, with a graphical user interface (GUI) front end. George Mills developed it at the [Massachusetts Institute of Technology]] (MIT). Its core is the same as UCBLogo by Brian Harvey. It is free and open-source software, with source code available, in Borland C++.
MSWLogo supports multiple turtle graphics, 3D computer graphics, and allows input from ports COM and LPT. It also supports a Windows interface, so input/output (I/O) is available through this GUI, and keyboard and mouse events can trigger interrupts. Simple GIF animations may also be produced on MSWLogo version 6.5 with the command gifsave
. The program is also used as educational software. Jim Muller wrote The Great Logo Adventure, a complete Logo manual using MSWLogo as the demonstration language.
MSWLogo has evolved into FMSLogo: An Educational Programming Environment, a free, open-source implementation of the language Logo for Microsoft Windows. It is released under the GNU General Public License (GPL) and is mainly developed and maintained by David Costanzo.
Features[edit]
MSWLogo, as of version 6.5b, supports many functions, including:[2]
- TCP/IP Winsock networking
- Win16, Win32, Win32s
- Text in all available fonts and sizes.
- 1024 independent turtles.
- Bitmapped turtles
- Bitmap cut, paste, stretch
- Clipboard text and bitmaps
- MIDI devices
- Direct I/O to control external hardware
- Serial and parallel port communications
- Zooming
- Tail recursion: optimizes most recursive functions
- User error handling
- Standard Logo parsing
- Save and restore images. BMP format files
- Color bits per pixel: 1, 4, 8, 16, 24
- Standard Windows hypertext help
- Standard Windows printing
- Separate library and work area
- Construction of Windows dialogue boxes
- Event-driven programming: mouse, keyboard, timer
- Multimedia devices: WAV sound files, CD-ROM control, etc.
- Event timers allowing multiprocessing
- 3D perspective drawing: wire-frame and solid
- Animated GIF generation
Command | Abbr. | Syntax | Output | Example |
---|---|---|---|---|
FORWARD | fd | FORWARD␣⟨number of steps to move forward⟩ |
Moves turtle forward for number of times specified | forward 100 or fd 100
|
BACK | bk | BACK␣⟨number of steps to move backward⟩ |
Moves turtle back for number of times specified | back 100 or bk 100
|
RIGHT | rt | RIGHT␣⟨degrees to rotate toward right⟩ |
Turns turtle right for number of degrees specified | right 228 or rt 228
|
LEFT | lt | LEFT␣⟨degrees to rotate toward left⟩ |
Turns turtle left for number of degrees specified | left 228 or lt 228
|
HOME | home | Comes to screen center but does not clear the screen | home
| |
CLEAN | ct cs | Clears the screen of trails but the turtle remains where it is without moving | clean
| |
CLEARSCREEN | CS | Clears the screen of trails and comes to screen center | cs
| |
HIDETURTLE | HT | Hides the turtle and aids viewing a clear drawing on the screen | ht
| |
SHOWTURTLE | ST | Shows the turtle after it is hidden from the screen | st
| |
PENUP | PU | Sets the turtle to move without drawing | pu
| |
PENDOWN | PD | Resets to a drawing pen when ordered to move | pd
| |
CLEARTEXT | CT | Clears all text in the command screen | ct
| |
CIRCLE | Makes a circlerepeat 360 [FD ⟨desired length in number of pixels divided by 360⟩ RT or LT 1] |
circle
| ||
Pattern | pay | Makes a pattern | pattern
| |
SetPC | SetPC␣⟨RGB value here (ex. 255, 255, 255)⟩ |
Sets the pen color to that rgb value | setpc [255 255 255]
| |
SetSC | SetSC␣⟨RGB value here (ex. 255, 255, 255)⟩ |
Sets the screen color to that rgb value | setsc [255 255 255]
|
References[edit]
- ^ Pietrocola, Giorgio (2005). "Tartapelago". Maecla.
- ^ "MSWLogo Version 6.5b for Micro-Soft Windows 95/98/NT/2000/XP". Softronix. Retrieved 2019-07-21.