home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / logo / labybug / demo4.bug < prev    next >
Text File  |  1989-12-31  |  2KB  |  157 lines

  1. to "poly  :D :a
  2. forward :D
  3. right :a
  4. poly :D :a
  5. end
  6.  
  7. to "inspi  :S :A :C
  8. IF :C > 180 [STOP]
  9. POLYS :S :A
  10. MAKE "C :C + 1
  11. INSPI :S :A + 10 :C
  12. end
  13.  
  14. to "starfish  
  15. DRAW PD
  16. SETBG 3
  17. SETPC 3
  18. INSPI 10 1 1
  19. PRINT [INSPI - RATION]
  20. WAIT 10
  21. THIRD
  22. end
  23.  
  24. to "third  
  25. CT CURSOR 1 5
  26. PR [Logo has often been described]
  27. JL PR [as a language for children.]
  28. PR [Maybe that's because it brings]
  29. PR [out the child in all of us.]
  30. JL PR [This does not preclude Logo]
  31. PR [from being a language for]
  32. CURSOR 5 13 PR [Poets,]
  33. CURSOR 10 15
  34. PR [Scientists,]
  35. CURSOR 15 17
  36. PR [and philosophers.]
  37. CURSOR 1 21
  38. WAIT 40
  39. CLEARWS
  40. LOAD "DEMO4
  41. START
  42. end
  43.  
  44. to "polys  :S :A
  45. FD :S
  46. RT :A
  47. end
  48.  
  49. to "polyx  :A :R
  50. CS HM SETBG 1 + INTEGER RANDOM 6
  51. SETPC 1 + INTEGER RANDOM 3
  52. SETPAL INTEGER RANDOM 2
  53. REPEAT :R [FD 100 RT :A] CR
  54. end
  55.  
  56. to "squirl  :A
  57. CS HT HM SETBG 0 PD SI :A 5 CR
  58. end
  59.  
  60. to "si  :B :N
  61. SETPC 1 + INTEGER RANDOM 3
  62. IF :N > 225 [STOP]
  63. FD :N RT :B
  64. SI :B :N + 4
  65. end
  66.  
  67. to "cr  
  68. PU SETXY -220 -80
  69. end
  70.  
  71. to "spiro  :A :L
  72. DRAW SETBG 0 PD IR :A :L CR
  73. end
  74.  
  75. to "ir  :B :L
  76. SO :B :L 8
  77. IF HEADING = 0 [STOP]
  78. end
  79.  
  80. to "so  :A :L :S
  81. MAKE "PEN REMAINDER :L 5
  82. IF :D > 2 MAKE "D 0
  83. FD :S RT :A SETPC 1 + :D
  84. IF :L = 0 [STOP]
  85. SO :A :L - 1 :S + 8
  86. end
  87.  
  88. to "start  
  89. JE JL JL PR [Polygons lead to the fun of]
  90. JP PR [exploring polyspirals...]
  91. JL JL PR [?TO POLYSPIRAL :LIMIT :SIZE :ANGLE]
  92. PR [> IF :SIZE > :LIMIT [STOP]]
  93. PR [> FORWARD :SIZE]
  94. PR [> RIGHT :ANGLE]
  95. PR [> POLYSPIRAL :LIMIT :SIZE + 5 :ANGLE]
  96. PR [> END]
  97. JL JL JP PR [Now watch...]
  98. WAIT 3 JL JL JP PR [First some polygons...]
  99. WAIT 3 DRAW JB
  100. end
  101.  
  102. to "jb  
  103. POLYGON 120 3 POLYGON 90 4 POLYGON 72 5
  104. POLYGON 144 5 POLYGON 60 6
  105. PR [Now polyspirals...] WAIT 10 HM
  106. SQUIRL 120 SQUIRL 123
  107. PR [And some others...] WAIT 10 HM
  108. SPIRO 144 11 SPIRO 140 7 STARFISH
  109. end
  110.  
  111. to "je  
  112. CT CURSOR 1 1
  113. end
  114.  
  115. to "JC  
  116. BG 0 CS CT
  117. end
  118.  
  119. to "JL  
  120. PR "
  121. end
  122.  
  123. to "JP  
  124. REPEAT 3 [JI]
  125. end
  126.  
  127. to "JI  
  128. TYPE CHAR 32
  129. end
  130.  
  131. to "WAIT  :T 
  132. IF :T = 0 [STOP]
  133. MAKE "T :T - 1
  134. WAIT :T
  135. end
  136.  
  137. to "pr  :LIST
  138. PRINT :LIST
  139. end
  140.  
  141. to "polygon  :A :R
  142. CS HM SETBG 1 + INTEGER RANDOM 6
  143. SETPC 3
  144. REPEAT :R [FD 100 RT :A] CR
  145. WAIT 5
  146. end
  147.  
  148. to "hm  
  149. PU HOME PD
  150. end
  151.  
  152. to "remainder  :A :B
  153. MAKE "C :A / :B
  154. MAKE "D ( :C - INTEGER :C ) * :B
  155. OUTPUT :D
  156. end
  157.