@@ -2,7 +2,7 @@ var tree = [];
22var flowers = [ ] ;
33var branchNumber = 0 ;
44var shrink , shake , intensity , grow = false ,
5- shed , grav , flsize ;
5+ shed , gravity , flsize , grav , wind_dir , windcheck ;
66
77function setup ( ) {
88 createCanvas ( 600 , 600 ) ;
@@ -28,15 +28,32 @@ function setup() {
2828 grows . position ( 100 , 370 ) ;
2929 grows . mousePressed ( growFlowers ) ;
3030
31- grav = createVector ( 0 , 2 ) ;
31+ gravity = createVector ( 0 , 0.3 ) ;
32+ grav = createCheckbox ( "Gravity" , true ) ;
33+
34+ windcheck = createCheckbox ( "Wind ON/OFF" , false ) ;
35+
36+ wind_dir = createRadio ( ) ;
37+ wind_dir . option ( "Left" ) ;
38+ wind_dir . option ( "Right" ) ;
39+ wind_dir . value ( "Right" ) ;
3240
3341}
42+ var wind ;
3443
3544function draw ( ) {
45+
3646 background ( 51 ) ;
3747 fill ( 255 ) ;
3848 textSize ( 24 ) ;
3949 text ( "Number of branches = " + branchNumber , 15 , 30 ) ;
50+
51+ if ( windcheck . checked ( ) ) {
52+ if ( wind_dir . value ( ) == "Left" )
53+ wind = createVector ( - 0.2 , 0 ) ;
54+ else if ( wind_dir . value ( ) == "Right" )
55+ wind = createVector ( 0.2 , 0 ) ;
56+ }
4057 for ( var i = 0 ; i < tree . length ; i ++ ) {
4158 tree [ i ] . show ( ) ;
4259 if ( tree [ i ] . flower )
@@ -47,10 +64,15 @@ function draw() {
4764 if ( ! tree [ i ] . grown && grow && tree [ i ] . flower ) {
4865 tree [ i ] . growFlower ( ) ;
4966 }
50- if ( shed && tree [ i ] . flower && ! tree [ i ] . flower . done ) {
51- tree [ i ] . flower . shed ( ) ;
52- tree [ i ] . flower . applyForce ( grav ) ;
53- }
67+ if ( shed && tree [ i ] . flower ) {
68+ if ( grav . checked ( ) ) {
69+ tree [ i ] . flower . applyForce ( gravity ) ;
70+ }
71+ if ( windcheck . checked ( ) )
72+ tree [ i ] . flower . applyForce ( wind ) ;
73+ if ( ! tree [ i ] . flower . done )
74+ tree [ i ] . flower . shed ( ) ;
75+ }
5476 }
5577}
5678
0 commit comments