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);
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++;
c.setRGBColor(255-g,g,b);
}else{state = 2;}
}
if (state == 2){
if(b<255){
b++;
c.setRGBColor(0,255-b,b);
}else{state = 0; r=0; g=0; b=0;}
}
}
c.fillRect(150,50,10,10);
</run>
</code>
<run id="4d346eb9efbcc">baum()</run>
<check execute="(baum())">
true
</check>