Codice




var c;
var passaggi=0;
var diagonale=[0,0];
var k=0;


function init( ){
          var affare=$('peano');
          Event.observe(affare,'click',sgorbio,false);
}


function sgorbio( ){
          if(passaggi==0){
                    inizio( );
          }else{
                    pulisci( );
          }
          passaggi++;
}


function inizio( ){
          var tela=$('peano');
          var context=tela.getContext('2d');
          c=300;
          diagonale.push(c,c);

          context.fillStyle='#F9F0E5';
          context.fillRect(0,0,c,c);
          context.fill( );
          context.strokeRect(0,0,c,c);
          context.stroke( );
          context.beginPath( );
          context.moveTo(0,0);
          context.lineTo(c,c);
          context.closePath( );
          context.stroke( );
}


function trovametti( ){
          var lv=diagonale.length;
          var i,j;
          var metti=[ ]
          for(i=0;i<lv-2;i+=2){
                    var x1=(2*diagonale[i+0]+diagonale[i+2])/3;
                    var y1=(2*diagonale[i+1]+diagonale[i+3])/3;
                    var x2=(diagonale[i+0]+2*diagonale[i+2])/3;
                    var y2=(diagonale[i+1]+2*diagonale[i+3])/3;
                    var x0=diagonale[i];
                    var x3=diagonale[i+2];
                    var y0=diagonale[i+1];
                    var y3=diagonale[i+3];
                    var aggiungi=[x0,y0,x1,y1,x0,y2,x1,y3,x2,y2,x1,y1,x2,y0,x3,y1,x2,y2];
                    for(j=0;j<aggiungi.length;j++){
                              metti.push(aggiungi[j]);
                    }
          }
          metti.push(c,c);
          diagonale=metti;
}


function disegna(k){
          var tela=$('peano');
          var context=tela.getContext('2d');
          var a=2*k;
          context.beginPath( );
          context.moveTo(diagonale[a],diagonale[a+1]);
          context.lineTo(diagonale[a+2],diagonale[a+3]);
          context.closePath( );
          context.stroke( );
}


function pulisci( ){
          var tela=$('peano');
          var context=tela.getContext('2d');
          trovametti( );
          context.fillStyle='#F9F0E5';
          context.fillRect(0,0,300,300);
          context.fill( );
          context.strokeRect(0,0,300,300);
          context.stroke( );
          disegnaotto( );
}


function disegnaotto( ){
          disegna(k);
          k++;
          setTimeout(disegnaotto,0);
}


Event.observe(window,'load',init,false);

Licenza CC