虹 - タイルdeアート

0

タイルでアート(紅)の虹バージョン。彩度の高い色でこちらもアート感があります。

再読込をすると別のパターに変わります。

作品名:虹
http://bitarrow.eplang.jp/bitarrow/fs/pub/f4e9c680/Art_3.html

再帰処理バージョン。自動的(10秒毎)にパターンが変わります。


http://bitarrow.eplang.jp/bitarrow/fs/pub/f4e9c680/Art_3a.html

// art_3(虹)
screen! (black) paint.
map=[|v s1 e1 s2 e2| s2+(e2-s2)*((v-s1)/(e1-s1))].

w=screen!width?. h=screen!height?.
xn=random(7). yn=random(7).
//xn=1. yn=4.
s=random(7)/10.
ws=ceil(w/xn). hs=ceil(h/yn).
tile=array! create. c=array! create. m=array! create. d=array! create.
i=0. j=0.
[i=i+1.
[j=j+1.
x=!(j)(1)(xn+1)(w/-2)(w/2) map. y=!(i)(1)(yn+1)(h/2)(h/-2) map.
c! (random(360)) add. m! (1) add.
tile! (label! create (ws*s)(hs*s) size (x+(ws*(1-s)/2))(y-(hs*(1-s)/2)) position
(white) fontcolor (12) fontsize) add.
]! (xn) repeat.
j=0.
]! (yn) repeat.

h=array! create.
n=0.[
[全部! (n>=0)(n<60) 本当]! then [r=255. g=(n/60)*255. b=0.] execute.
[全部! (n>=60)(n<120) 本当]! then [r=(120-n)/60*255. g=255. b=0.] execute.
[全部! (n>=120)(n<180) 本当]! then [r=0. g=255. b=(n-120)/60*255.] execute.
[全部! (n>=180)(n<240) 本当]! then [r=0. g=(240-n)/60*255. b=255.] execute.
[全部! (n>=240)(n<300) 本当]! then [r=(n-240)/60*255. g=0. b=255.] execute.
[全部! (n>=300)(n<360) 本当]! then [r=255. g=0. b=(360-n)/60*255.] execute.
h! (color! (r)(g)(b) create) add.
n=n+1.
]! (360) repeat.

timer! create (0.1) interval (60*60) duration [

[|i|
d! (i) (random(4)) set.
[(c! (i) get)>=360]! then [m! (i)(-1) set] execute.
[(c! (i) get)<=0]! then [m! (i) (+1) set] execute.
v=((c! (i) get)+(d! (i) get)*(m! (i) get)).
c! (i) (v) set. col=(h! (v) get).
// (tile! (i) get)! (v) set (col) paint. //debug
(tile! (i) get)! (col) paint.
]! (xn*yn) repeat.

] execute.

Default