Advertisement
Guest User

Chyba poprawiona wersja, z dorzuconymi kodami z lekcji

a guest
Nov 28th, 2012
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //wyjaśnienie procedur (można
  2. //skok :x :y - przesuwa żółwia o wektor [:x,:y], np. skok 50 30 przesunie go o 50 w prawo i 30 do góry
  3. //kwadrat :a - kwadrat o boku :a
  4. //kwadrat_środek :a - wyśrodkowany kwadrat o boku :a
  5. //prostokąt :a :b - kwadrat o boku pionowym :a i poziomym :b
  6. //prostokąt_środek :a :b - analogicznie jak poprzednio
  7. //foremny :n :a - n-kąt foremny (n >= 3) o boku :a
  8. //foremny_środek :n :a - n-kąt foremny wyśrodkowany
  9. //gwiazda :ile :bok - gwiazda n-kątna (n nieparzyste) o boku :bok
  10. //kółko :r - bez wyjaśnienia; żółw znajduje się na obwodzie
  11. //kółko_środek :r - żółw na początku i końcu - na środku koła
  12. //drabina :ile :szer :wys - drabina (z lekcji)
  13. //piramida :xdlug :ydlug :ile - piramida z lekcji; dlugosc cegly (xdlug,ydlug), :ile poziomów
  14. //szachownica :szer :dlug :a - szachownica (niepomalowana) o :szer polach w poziomie, :dlug w pionie i polu o boku :a
  15.  
  16.  
  17. oto skok :x :y
  18. pod
  19. pw 90 np :x lw 90
  20. np :y
  21. opu
  22. już
  23.  
  24. oto kwadrat :a
  25. powtórz 4 [ np :a pw 90 ]
  26. już
  27.  
  28. oto kwadrat_środek :a
  29. skok (-:a/2) (-:a/2)
  30. powtórz 4 [ np :a pw 90 ]
  31. skok :a/2 :a/2
  32. już
  33.  
  34. oto prostokąt :a :b
  35. powtórz 2 [ np :a pw 90 np :b pw 90 ]
  36. już
  37.  
  38. oto prostokąt_środek :a :b
  39. skok (-:b/2) (-:a/2)
  40. powtórz 2 [ np :a pw 90 np :b pw 90 ]
  41. skok :b/2 :a/2
  42. już
  43.  
  44. oto foremny :n :a
  45. powtórz :n [ np :a pw 180-180*(:n-2)/:n ]
  46. już
  47.  
  48. oto foremny_środek :n :a
  49. przyp "r :a/(2*sin (180/:n))
  50. skok (-:r * cos(180/:n)) (-:r * sin (180/:n))
  51. powtórz :n [ np :a pw 180-180*(:n-2)/:n ]
  52. skok :r*cos (180/:n) :r*sin (180/:n)
  53. już
  54.  
  55. oto gwiazda :n :r
  56. skok (-:r * cos (180/:n)) (-:r * sin (180/:n))
  57. pw (180/:n)
  58. powtórz :n [ np 2*:r*sin (360/:n) pw 180-180/:n ]
  59. lw (180/:n)
  60. skok :r*cos (180/:n) :r*sin (180/:n)
  61. już
  62.  
  63. oto kółko :r
  64. powtórz 360 [ np 2*3,14*:r/360 pw 1 ]
  65. już
  66.  
  67. oto kółko_środek :r
  68. skok (-:r) 0
  69. powtórz 360 [ np 2*3,14*:r/360 pw 1 ]
  70. skok :r 0
  71. już
  72.  
  73. // DO DRABINY
  74.  
  75. oto poziom :szer :wys
  76. np 2*:wys
  77. skok 0 (-:wys)
  78. pw 90 np :szer lw 90
  79. skok 0 (-:wys)
  80. np 2*:wys
  81. skok (-:szer) (-2*:wys)
  82. już
  83.  
  84. oto drabina :ile :szer :wys
  85. skok (-:szer/2) (-:wys/2)
  86. powtórz :ile [ poziom :szer :wys/(:ile+1) skok 0 :wys/(:ile+1) ]
  87. skok 0 (-:wys*:ile/(:ile+1))
  88. skok (:szer/2) (:wys/2)
  89. już
  90.  
  91. //KONIEC DO DRABINY
  92.  
  93.  
  94. //POCZĄTEK DO PIRAMIDY
  95.  
  96. oto warstwa :xdlug :ydlug :ile
  97. powtórz :ile [powtórz 2 [np :ydlug pw 90 np :xdlug pw 90] skok :xdlug 0]
  98. skok (- :xdlug * :ile) 0
  99. już
  100.  
  101. oto piramida :xdlug :ydlug :ile
  102. skok ( - :xdlug * :ile / 2 ) ( - :ydlug * :ile / 2 )
  103. przyp "ilecegieł :ile
  104. powtórz :ile [warstwa :xdlug :ydlug :ilecegieł skok ( :xdlug / 2 ) :ydlug przyp "ilecegieł :ilecegieł - 1]
  105. skok 0 ( - :ydlug * :ile / 2 )
  106. już
  107.  
  108. //KONIEC DO PIRAMIDY
  109.  
  110. oto szachownica :szer :dlug :a
  111. powtórz :dlug [ powtórz :szer [ kwadrat :a skok :a 0 ] skok (-:szer*:a) :a ]
  112. skok 0 (-:dlug*:a)
  113. już
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement