home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / proglang / ladybug1.arj / DEMO4.BUG < prev    next >
Text File  |  1991-01-13  |  2KB  |  152 lines

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