IKG/Rekursion

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
== Canvas mit JavaScript ==

<canvas></canvas>

<run id="4ea7c3994ef5a">
var c = new Canvas(1);
c.clear();
c.setWidth(1);
c.setRGBColor(0,0,0);
c.rect(10,10,150,50);
c.drawImage(20,20,30,30,"http://programmingwiki.de/extensions/ims_extension/styles/nosmilie.jpg");
c.text(60,40,"Hallo Welt!",12);
c.setRGBColor(255,0,0);
c.setWidth(2);
c.line(60,45,140,45);
c.ellipse(150,20,5);
c.fillRect(150,50,10,10);
</run>


<code id="4d346eb9efabb">

var x = 50;
var y = 0;
var angle = 45;

var r = 0; var g = 0; var b = 0;
var state = 0;

function baum() {
 angle = angle +45 -5+Math.round(Math.random()*5);
 if (angle > 360) angle = angle -360;
 if (angle < 0) angle = angle +360;
}

function advance(){ 
  if (y >  80) bounce();
  if (y < -80) bounce();
  if (x >  280) bounce();
  if (x < -280) bounce();
  x = x + 10*Math.cos(angle*Math.PI/180); 
  y = y + 10*Math.sin(angle*Math.PI/180); 
  if (state == 0){
   if(r<255){ 
      r++;
      canvas.setColor(r,g,255-r);
   }else{state = 1;}
  }
  if (state == 1){
   if(g<255){ 
      g++;
      canvas.setColor(255-g,g,b);
   }else{state = 2;}
  }
  if (state == 2){
   if(b<255){ 
      b++;
      canvas.setColor(0,255-b,b);
   }else{state = 0; r=0; g=0; b=0;}
  }
}

</code>
<run id="4d346eb9efbcc">baum()</run>

<check execute="(baum())">
true
</check>