Odpowiedzi

2010-03-19T21:53:11+01:00
Zamek

Skład (procedury):
brama :x (x - wysokość do łuku)
flaga :x (x - wysokość do chorągiewki)
kraty :x :y (x - wysokość; y - szerokość)
mur :x :y (x - ilość; y - szerokość 1 murku)
okn :x (x - wysokość okna)
prost :x :y (x - wysokośc; y - szerokość)
wieza :x (x - wysokość do dachu)
Wywołanie: zamek 200

Kod Procedury:
oto brama :x
fd :x
repeat 180 [rt 1 fd :x / 100]
rt 90 fd ( 360 * :x / 100 ) / 3.14
pod
ws ( 360 * :x / 100 ) / 3.14 lt 90
opu
fd :x
pod
rt 90 fd ( 360 * :x / 100 ) / 3.14 rt 90
opu
kraty :x ( 360 * :x / 100 ) / 3.14
już


oto flaga :x
fd :x rt 90
repeat 3 [rt 30 fd :x / 2 rt 90]
lt 90 pod ws :x opu
już

oto kraty :x :y
repeat 9 [pod fd :x / 10 rt 90 opu fd :y pod ws :y lt 90 opu]
pod ws ( :x / 10 ) * 9 rt 90
repeat 9 [pod fd :y / 10 lt 90 opu fd :x pod ws :x rt 90 opu]
pod ws ( :y / 10 ) * 9 lt 90 opu
już

oto mur :x :y
repeat :x [fd :y rt 90 fd :y rt 90 fd :y lt 90 pod fd :y lt 90 opu]
już

oto okn :x
repeat 2 [fd :x rt 90 fd :x / 2 rt 90]
już

oto prost :x :y
repeat 2 [fd :x rt 90 fd :y rt 90]
już

oto wieza :x
fd :x rt 30 fd :x / 2 lt 30
flaga :x / 2
rt 30 rt 120 fd :x / 2 rt 30
rt 90 fd :x / 2
pod
ws :x / 2 lt 90
opu
fd :x rt 90 fd :x / 2 rt 90
pod
fd :x / 10 rt 90 fd :x / 6 lt 90
opu
okn :x / 3
pod
fd :x * ( 2 / 15 ) + :x / 3
opu
okn :x / 3
pod
ws :x / 3 + :x * ( 2 / 15 ) + :x / 10 lt 90 fd :x / 6 rt 90
opu
już

oto zamek :x
wieza :x
rt 90 pod fd :x / 2 lt 90 opu
prost :x :x * 1.5
pod rt 90 fd :x * 1.5 lt 90 opu
wieza :x
lt 90 pod
fd ( :x * 1.5 - ( 360 * :x * 0.5 / 100 ) / 3.14 ) / 2 + ( 360 * :x * 0.5 / 100 ) / 3.14 rt 90
opu
brama :x * 0.5
lt 90 pod fd ( :x * 1.5 - ( 360 * :x * 0.5 / 100 ) / 3.14 ) / 2 rt 90 fd :x rt 90 fd ( ( :x * 1.5 ) / 5 ) / 4 lt 90 opu
mur 5 ( ( :x * 1.5 ) / 5 ) / 2
pod ws :x lt 90 fd ( ( :x * 1.5 ) / 5 ) / 4 + :x * 1.5 + :x / 2 rt 90
opu
już

Autorem kodu,pomysłu oraz wykonania jest McFly.
Link do forum: Zamek.


http://www.logokom.yoyo.pl/procedury/zaawansowane/gfx/25.JPG


Powodzenia ; )
31 1 31