# Logo Examples

Each example file is commented at the head as to how to use it.

## Examples mostly from Brian Harvey's books on Logo

Program | Purpose/Function
--- | ---
ALGS.LGO | Assorted logo algorithms
BASIC.LGO | BASIC (the language) Interpreter
COMPILE.LGO | Logo Precompiler for functions with MAP
CRYPTO.LGO | Cryptography helper (Uses Cursor, needs rework for FMSLogo)
DIFF.LGO | File difference utility
DOCSETUP.LGO | Simulated intelligent Doctor
DOCTOR.LGO | Simulated intelligent Doctor (Pre-Initialized)
FORMAT.LGO | Formats Text into Paragraphs with margins etc.
FSM.LGO | Finite State Machine Parser
MATCH.LGO | Regular Expression Evaluator
MATH.LGO | Logic Analysis Program (very nice)
PLAYFAIR.LGO | Encryption Program
PLOT.LGO | Plots harmonic functions?
POKER.LGO | Evaluates Poker Hands
POUR.LGO | How to use 2 unmarked bottles to measure out a volume
PP.LGO | Logo list Pretty Printer
SOLITAIR.LGO | Solitaire Game (Uses Cursor, needs rework for FMSLogo)
STUDENT.LGO | Mathematical Word Problem solver (incredible)
TTT.LGO | Tic Tac Toe game

## Examples using some of FMSLogo's graphical extensions

Program | Purpose/Function
--- | ---
CLOCK.LGO | Graphical Real Working Clock
CURVES.LGO | Koch, Hilbert, Piano curves etc.
HANOI.LGO | Graphical solution to Towers of Hanoi
JOYSTICK.LGO | Example using the Joystick to move the turtle
PORT.LGO | Basic Interface to LPTn port.
PLATE.LGO | Simulation of heat propagation is an Ideal plate
SPRITE.LGO | Example of how to do sprite animation

## Examples using the PASCAL interpreter (Written in LOGO) also from Brian

Program | Purpose/Function
--- | ---
PASCAL.LGO | Pascal compiler (Load this first) Usage `COMPILE "name.PAS PRUN "name`
CARDS.PAS | Shuffle ordered deck of cards example
MULTI.PAS | Multinomial expansion problem
PSORT.PAS | Partition Sort Example
TOWER.PAS | Solves Tower of Hanoi Textually

## Examples of using your sound card/cdrom through FMSLogo/Windows

Program | Purpose/Function
--- | ---
SOUNDS.LGO | Loads and Plays two .WAV files on sound card
ECHO.LGO | Echo's your voice on sounds card
VIDEO.LGO | Plays .AVI (Audio Visual Interlace) files
CDROM.LGO | Simple non-graphical CD player
MIDI.LGO | Makes your keyboard into 127 MIDI instruments
MIDIFILE.LGO | Plays a MIDI file (.MID) in the background in a loop
GROW.LGO | Animation of a Flower Growing
PAINT.LGO | Windows Like "Paint" program
NOFLICK.LGO | Example of how to do flicker free animation
SHAPES.LGO | Example of how to paste non-rectangular overlapped bitmaps

## Examples of using Logo's API to Windows

Program | Purpose/Function
--- | ---
CALC.LGO | Simple Windows Calculator
MODELESS.LGO | Shows most controls available
MODAL.LGO | Shows most controls available but in MODAL mode (see Help)
VISUAL.LGO | Start of a Visual Dialog Editor
DLL32.LGO | Shows how to call DLLs in Win32

## Examples of using Logo's API to Networking

Program | Purpose/Function
--- | ---
NETLOCAL.LGO | Sends Logo commands out network and back on same machine
NETPAIR.LGO | Sends Logo commands back and forth between a pair of machines
NETRING.LGO | Sends Logo commands to n machines in a ring fashion

## Examples of using Logo's 3D capabilities

Program | Purpose/Function
--- | ---
3DBITMAP.LGO | Example of rotating a bitmap in 3D
3DJOY.LGO | Example using the Joy Stick to move the turtle in 3D
3DMOVIE.LGO | Example of a solid shaded 3D GIF Movie
3DSIMPLE.LGO | Simple examples using 3D
3DSTEPS.LGO | Simple introduction into using 3D
3DTRIG.LGO | Example of a trig based animated surface (GIF Movie)
AXIS.LGO | Shows the AXIS and how to move the vantage point
CHECKER.LGO | Example of taking 2D flood fill pictures in 3D
HILBERT.LGO | Example of a solid shaded 3D Space Filling Hilbert Curve
SHUTTLE.LGO | Shows loading in a vector database of the Space Shuttle
SHUTTLE.3DV | Database used in SHUTTLE.LGO and STEREO.LGO
STEREO.LGO | Shows how to do stereo vision using 3D glasses
SOLAR.LGO | Example of drawing a crude solar system
SPHERE.LGO | Example of several solid shaded spheres
TORUS.LGO | Example of a solid shaded Torus