SHOW:
|
|
- or go back to the newest paste.
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 :n :r - wyśrodkowana gwiazda n-kątna (n nieparzyste) w "kole" o promieniu :r |
9 | + | //gwiazda :ile :bok - gwiazda n-kątna (n nieparzyste) o boku :bok |
10 | - | //koło :r - bez wyjaśnienia; żółw znajduje się na obwodzie |
10 | + | //kółko :r - bez wyjaśnienia; żółw znajduje się na obwodzie |
11 | - | //koło_środek :r - żółw na początku i końcu - na środku koła |
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 | - | oto koło :r |
60 | + | |
61 | już | |
62 | ||
63 | oto kółko :r | |
64 | - | oto koło_środek :r |
64 | + | |
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ż |