to boxes :size :num repeat :num [randomcolor Repeat 4 [fd :size rt 90] rt 90 pu fd :size + 20 pd lt 90] End to hexagon :n repeat 6 [tri :n rt 60] End to kite :w :l rt 45 repeat 2 [fd sqrt (.5*(:w*:w)) rt 90] pu rt 45 fd .5*:w lt 90 fd (:l-(.5*:w)) pd End to mirror tables lt 90 tables End to mirrors mirror lt 45 mirror End to polygon :n :l Repeat :n [fd :l rt (360/:n)] End to pompom repeat 360 [randomcolor randomlength 100 fd :length bk :length rt 1 ] End to randomcolor make "R random 256 make "G random 256 make "B random 256 make "T random 256 setpc (list :R :G :B) End to randomlength :rlength make "length random :rlength End to sndswish repeat 600 [make "Hz 0+repcount*20 sound (list :Hz :time)] repeat 600 [make "Hz 12000-repcount*20 sound (list :Hz :time)] End to sndswish2 repeat 2 [ repeat 60 [ make "Hz 00000+repcount*200 sound (list :Hz :time) ] repeat 60 [ make "Hz 12000-repcount*200 sound (list :Hz :time) ] ] End to spiderweb :n if :n > 100 [stop] hexagon :n spiderweb :n + 10 End to spinpoly :n :l :t repeat :t [polygon :n :l rt (360/:t)] End to square :n repeat 4 [fd :N randomcolor rt 90] End to squares repeat 4 [square (40+repcount*20)] End to tables squares lt 90 squares End to tri :n repeat 3 [fd :n randomcolor rt 120] End Make "b 191 Make "g 27 Make "hz 3120 Make "length 67 Make "r 190 Make "t 38 Make "time 10