[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LOGO-L> PC Logo for Windows 2



Hi, I'm John Hayes, the principal of Te Puke Primary School in New Zealand
-- a state school for 5 to 10 year olds. I have been convinced of the value
of Logo as a learning environment from the time I started to play around
with it when, in 1984, I bought a Commodore 64 for my family. 

I'm getting to grips with PC Logo for Windows, version 2. I thought I would
pass on a few tips. The first is from Dorothy Fitch, of Product Support,
Terrapin Software/Harvard Associates (DorothyFitch@compuserve.com) whom I
have found very helpful when I've run into problems. In answer to my query
about FD not accepting a negative input in Version 2 when it had done so in
Version 1, Dorothy replied: 

"I have found that the SETSPEED command that is loaded automatically from
the SLOWTOOL.LGO file can be revised to allow for negative inputs to FD.

"To change this file, go to Logo's Expert Mode (last choice in the Options
menu), then choose Edit from the File menu. Select the Tools folder in the
Logo
folder,then select SLOWTOOL.LGO. That will place it in the Edit window.

"Find the REDEFINE procedure and change the first line to the following.
The instruction starts with IF :NUMBER < .85 and ends with :.SPEED)[]]]].
Do not press <Enter> until after the final ]. You can type \ then <Enter>
if you prefer to have the instruction span several lines for readability.

to redefine :number
if :number < .85 [define "forward [[:DISTANCE] [IF :DISTANCE < 0 [MAKE
"DISTANCE :DISTANCE * -1 MAKE "AMOUNT -1] [MAKE "AMOUNT 1]] [REPEAT
:DISTANCE [REG.FORWARD :AMOUNT REPEAT 240 - (300 * :.SPEED) []]]]

"The rest of the procedure is fine as is, or you can make the same
modification to the BK, RT and LT definitions so you can enter negative
numbers for
those commands as well."

Tip #2:	If you try to use the LOADSHELL primitive in a procedure, and you
follow the model provided on p.26 of the Upgrade Handbook, you will get an
error message. Through trial and error I discovered that LOADSHELL is a
predicate that reports a true/false value. One way to allow for this is to
use TEST with LOADSHELL, for example, 
TEST LOADSHELL "CAR ;or what ever the name of the shell is
IFT [MAKE "CAR SHELL]
When I shared this with Dorothy Fitch she suggested another solution: 
IGNORE LOADSHELL "CAR
MAKE "CAR SHELL

John Hayes


---------------------------------------------------------------
Please post messages to the Logo forum to logo-l@gsn.org.  Mail
questions about the list administration to logofdn@gsn.org.  To
unsubscribe send    unsubscribe logo-l    to majordomo@gsn.org.



Global SchoolNet Foundation - Linking Kids Around the World!
Copyright GSN - All Rights Reserved - Comments & Questions
Visit GSN's Global Schoolhouse for more exciting learning resources!
Search our Site - Home