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

  1. to "circle  :X :Y :RADIUS
  2. LOCAL "AMT
  3. MAKE "PI 3.14159
  4. MAKE "AMT :RADIUS * :PI / 180
  5. PU SETXY :X :Y SETX XCOR - :RADIUS
  6. SETH 0 PD
  7. REPEAT 360 [FD :AMT RT 1]
  8. PU SETXY :X :Y
  9. end
  10.  
  11. to "rec  :D
  12. REPEAT 2 [FD :D RT 90 FD 2 * :D RT 90]
  13. end
  14.  
  15. to "anyshape  :R :D
  16. REPEAT :R [FD :D RT 360 / :R]
  17. end
  18.  
  19. to "cr  
  20. PU SETXY -115 -65
  21. end
  22.  
  23. to "triangle  :S
  24. REPEAT 3 [FD :S RT 120]
  25. end
  26.  
  27. to "square  :S
  28. REPEAT 4 [FD :S RT 90]
  29. end
  30.  
  31. to "house  :S
  32. PU HOME PD SQUARE :S FD :S RT 30 TRIANGLE :S CR
  33. end
  34.  
  35. to "countdown :X
  36. IF :X = 0 [PR CHAR 32 STOP]
  37. PR :X
  38. WAIT 2
  39. MAKE "X :X - 1
  40. COUNTDOWN :X
  41. end
  42.  
  43. to "blastoff  
  44. PU SETXY 8 0 SETH 0 PD
  45. BK 10 FD 10
  46. PU SETX 2 PD
  47. BK 20 FD 20
  48. PU SETX -12 PD
  49. BK 20 FD 20
  50. PU SETX -18 PD
  51. BK 10 FD 10
  52. PU SETXY 8 -10 SETH 135 PD FD 20 SETH 90 FD 20 SETH 45 FD 20
  53. PU SETXY -18 -10 SETH 225 PD FD 20 SETH 270 FD 20 SETH 315 FD 20
  54. PU SETXY 2 -20 SETH 135 PD FD 10 SETH 90 FD 20 SETH 45 FD 10
  55. PU SETXY -12 -20 SETH 225 PD FD 10 SETH 270 FD 20 SETH 45 FD 10
  56. CLEARWS
  57. LOAD "DEMO3
  58. START
  59. end
  60.  
  61. to "polygon  :REP :SIZE
  62. REPEAT :REP [FD :SIZE RT 360 / :REP]
  63. end
  64.  
  65. to "cont  
  66. PR [Can you find the "Rule of 360"] WAIT 8
  67. PR [in this series of polygons?]
  68. WAIT 5
  69. PR [You're right, it's the Polygon procedure.] WAIT 8
  70. PR [Let's use these shapes to make a drawing.]
  71. WAIT 5 CS CT
  72. end
  73.  
  74. to "polygons  
  75. JE REPEAT 3 [JL]
  76. JP PR [Here's a procedure to draw]
  77. JL JP PR [any polygon...] WAIT 10
  78. JL JL PR [TO POLYGON :REP :SIZE]
  79. PR [REPEAT :REP [ FD: SIZE RT 360 / :REP]
  80. PR [END]
  81. JL JL JP PR [Take a close look at how]
  82. JL JP PR [the variable :rep is used.]
  83. REPEAT 4 [JL] WAIT 5
  84. JC PU SETX -80 PD
  85. MAKE "REP 3
  86. LABEL
  87. end
  88.  
  89. to "label  
  90. IF :REP > 15 [CONT STOP]
  91. PR SE [POLYGON] :REP
  92. POLYGON :REP 20
  93. WAIT 5
  94. MAKE "REP :REP + 1
  95. LABEL
  96. end
  97.  
  98. to "start  
  99. JE JP PR [With Logo, you define]
  100. JP PR [your own procedures...]
  101. JP PR [your own commands.]
  102. JL PR [TO TRIANGLE :SIZE]
  103. PR [REPEAT 3 [FD :SIZE RT 120]]
  104. PR [END]
  105. JL PR [TO SQUARE :SIZE]
  106. PR [REPEAT 4 [FD :SIZE RT 90]]
  107. PR [END]
  108. JL JP PR [These procedures let you break]
  109. JP PR [a problem into "workable chunks."]
  110. JL PR [TO HOUSE :SIZE]
  111. PR [SQUARE :SIZE FD :SIZE RT 30]
  112. PR [TRIANGLE :SIZE]
  113. PR [END]
  114. JL JP PR [You make Logo do what you]
  115. JP PR [want it to do - - explore math,]
  116. JP PR [geometry, logic, language!]
  117. WAIT 20
  118. JL PR [Here's some graphic tools we'll use]
  119. PR [to create other drawings.]
  120. WAIT 5
  121. DRAW
  122. JB
  123. end
  124.  
  125. to "jb  
  126. SQUARE 100 PR "SQUARE WAIT 5
  127. CS TRIANGLE 100 PR "TRIANGLE  WAIT 5
  128. CS REC 100 PR "RECTANGLE WAIT 5
  129. HT CS CIRCLE 0 0 100 PR "CIRCLE WAIT 5
  130. POLYGONS
  131. SPACESHIP
  132. CLEARWS
  133. LOAD "DEMO3
  134. START
  135. end
  136.  
  137. to "je  
  138. CT CURSOR 1 1
  139. end
  140.  
  141. to "JC  
  142. BG 0 CS CT
  143. end
  144.  
  145. to "JL  
  146. PR "
  147. end
  148.  
  149. to "JP  
  150. REPEAT 3 [JI]
  151. end
  152.  
  153. to "JI  
  154. TYPE CHAR 32
  155. end
  156.  
  157. to "WAIT  :T
  158. IF :T = 0 [STOP]
  159. WAIT :T - 1
  160. end
  161.  
  162. to "spaceship  
  163. SQUARE 10
  164. PU LT 90 FD 20 RT 90 PD
  165. SQUARE 10
  166. FD 10 SQUARE 30
  167. LT 60 TRIANGLE 30
  168. RT 60 FD 30 SQUARE 30
  169. FD 30 RT 30 TRIANGLE 30
  170. RT 60 FD 30
  171. RT 90 FD 30 LT 60
  172. TRIANGLE 30
  173. HT
  174. COUNTDOWN 10
  175. BLASTOFF
  176. end
  177.