View difference between Paste ID: RYVkHt6s and bzKzGpWw
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ż