Want more features on Pastebin? Sign Up, it's FREE!
Guest

Chyba poprawiona wersja, z dorzuconymi kodami z lekcji

By: a guest on Nov 28th, 2012  |  syntax: None  |  size: 2.92 KB  |  views: 46  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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ż
clone this paste RAW Paste Data