home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
logo
/
labybug
/
demo5.bug
< prev
next >
Wrap
Text File
|
1989-12-30
|
3KB
|
198 lines
to "let's.explain
JE CURSOR 1 6
JP PR [Watch the next procedure. The]
JL JP PR [action is a bit different so]
JL JP PR [you can see how we "fake" the]
JL JP PR [appearance of four independent]
JL JP PR [turtles...]
WAIT 30 CS
end
to "start
JE CURSOR 1 6
JP PR [Why should LadyBug Logo have just]
JL JP PR [one turtle? Why not several?]
JL JL JL JP PR [While we can't call up others,]
JL JP PR [we can fake it...]
JL JL JL JP PR [Take a look.]
WAIT 20
CT JB
end
to "kaleidoscope
SET.UP
REPEAT 25 [DEMO]
end
to "demo
IF :STEP > 100 [MAKE "STEP 10]
MAKE "STEP :STEP + 5
MOVE
RT :ANGLE
IF OR :ANGLE > 45 :ANGLE < -45 [MAKE :ANGLE :ANGLE - ( :ANGLE * 2 ) ]
MAKE "ANGLE :ANGLE + 5
IF :C = 3 [MAKE "C 0]
MAKE "C :C + 1
SETPC :C
end
to "move
MAKE "X1 XCOR
MAKE "Y1 YCOR
FD :STEP
MAKE "X2 XCOR
MAKE "Y2 YCOR
PU SETXY :X1 - ( :X1 * 2 ) :Y1
PD SETXY :X2 - ( :X2 * 2 ) :Y2
PU SETXY :X1 - ( :X1 * 2 ) :Y1 - ( :y1 * 2 )
PD SETXY :X2 - ( :X2 * 2 ) :Y2 - ( :Y2 * 2 )
PU SETXY :X1 :Y1 - ( :Y1 * 2 )
PD SETXY :X2 :Y2 - ( :Y2 * 2 )
PU SETXY :X2 :Y2
PD
RT 15
end
to "set.up
MAKE "C 1
MAKE "STEP 20
MAKE "ANGLE 5 HT
end
to "turtles :N :SIZE
SET.ZERO
SET.ONE
SET.TWO
SET.THREE
TURTLES.FOUR :N :SIZE
PR [WE NEVER SAID THEY WERE FAST.]
WAIT 10
CLEARWS
LOAD "DEMO5
START
end
to "turtles.four :N :SIZE
IF :SIZE > :N [STOP]
PR [ASK 0 [RT 90 FD :SIZE]]
ASK 0 [RT 90 FD :SIZE]
PR [ASK 1 [RT 105 FD :SIZE]]
ASK 1 [RT 105 FD :SIZE]
PR [ASK 2 [RT 125 FD :SIZE]]
ASK 2 [RT 125 FD :SIZE]
PR [ASK 3 [RT 45 FD :SIZE]]
ASK 3 [RT 45 FD :SIZE]
PR [TURTLES.FOUR :N :SIZE + 20]
TURTLES.FOUR :N :SIZE + 20
end
to "ask :TNUM :COMMAND.LIST
IF :TNUM = 0 [ZERO :COMMAND.LIST]
IF :TNUM = 1 [ONE :COMMAND.LIST]
IF :TNUM = 2 [TWO :COMMAND.LIST]
IF :TNUM = 3 [THREE :COMMAND.LIST]
end
to "set.zero
MAKE "OLDX0 XCOR
MAKE "OLDY0 YCOR
MAKE "OLDH0 HEADING
end
to "set.one
MAKE "OLDX1 XCOR
MAKE "OLDY1 YCOR
MAKE "OLDH1 HEADING
end
to "set.two
MAKE "OLDX2 XCOR
MAKE "OLDY2 YCOR
MAKE "OLDH2 HEADING
end
to "set.three
MAKE "OLDX3 XCOR
MAKE "OLDY3 YCOR
MAKE "OLDH3 HEADING
end
to "zero :COMMAND.LIST
SETXY :OLDX0 :OLDY0 SETH :OLDH0
PD RUN :COMMAND.LIST PU
MAKE "OLDX0 XCOR
MAKE "OLDY0 YCOR
MAKE "OLDH0 HEADING
end
to "one :COMMAND.LIST
SETXY :OLDX1 :OLDY1 SETH :OLDH1
PD RUN :COMMAND.LIST PU
MAKE "OLDX1 XCOR
MAKE "OLDY1 YCOR
MAKE "OLDH1 HEADING
end
to "two :COMMAND.LIST
SETXY :OLDX2 :OLDY2 SETH :OLDH2
PD RUN :COMMAND.LIST PU
MAKE "OLDX2 XCOR
MAKE "OLDY2 YCOR
MAKE "OLDH2 HEADING
end
to "three :COMMAND.LIST
SETXY :OLDX3 :OLDY3 SETH :OLDH3
PD RUN :COMMAND.LIST PU
MAKE "OLDX3 XCOR
MAKE "OLDY3 YCOR
MAKE "OLDH3 HEADING
end
to "and :a :b
if :a = "true [output :b = "true]
output "false
end
to "or :a :b
if :a = "true [output "true]
output :b = "true
end
to "jb
kaleidoscope
let's.explain
turtles 120 60
end
to "je
CLEARTEXT CURSOR 1 1
end
to "jc
BG 0 CS
end
to "jl
print "
end
to "jp
REPEAT 3 [JI]
end
to "ji
TYPE CHAR 32
end
to "wait :t
if :t = 0 [stop]
make "t :t - 1
wait :t
end
to "pr :LIST
PRINT :LIST
end