MSWLogo

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description

File:Alberotriangolare108.gif
MSW Logo windows

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

File:LemniscatadiBernoulli Tartapelago 03.gif
Animated gif with turtles in MSWLogo (Lemniscate of Bernoulli)[1]
File:Tartapelago RosaGrandi 07.gif
Animated gif with turtle in MSWLogo (Limaçon)

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␣Template:Angbr Moves turtle forward for number of times specified forward 100 or fd 100
BACK bk BACK␣Template:Angbr Moves turtle back for number of times specified back 100 or bk 100
RIGHT rt RIGHT␣Template:Angbr Turns turtle right for number of degrees specified right 228 or rt 228
LEFT lt LEFT␣Template:Angbr 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 circle
repeat 360 [FD Template:Angbr RT or LT 1]
circle
Pattern pay Makes a pattern pattern
SetPC SetPC␣Template:Angbr Sets the pen color to that rgb value setpc [255 255 255]
SetSC SetSC␣Template:Angbr Sets the screen color to that rgb value setsc [255 255 255]

References

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

Template:Sister project

External links

  • Script error: No such module "Official website".Script error: No such module "Check for unknown parameters".

Template:Logo programming Template:Lisp programming language