Looping with canvas

From XPUB & Lens-Based wiki

See also Canvas.

A basic coding control structure is the loop which takes it's simplest form as:

while CONDITION {
   LOOP
   LOOP
   LOOP...
}

The condition should be some kind of "boolean" expression that is "true" for a while, and eventually "false" when the loop should stop running.

<canvas id="c1" showsrc> function draw(){

 c = document.getElementById("c1")
 //console.log("c is",c)
 p = c.getContext("2d")
 x = 10
 while (x<250) {
   p.strokeRect(x,100,20,40)
   x+=60
 }

} </canvas>

Variation: When the loop reaches the edge it breaks the line. It redefines the "x" value to the beginning of the line and adds 40px to "y".

<canvas id="c2" width="300" height="300" showsrc> function draw() {

   c = document.getElementById("c2");
   p = c.getContext("2d");
   hands = 1;
   x = 20;
   y = 20;
   while (hands < 100) {
       //console.log(hands);
       p.strokeRect(x,y,20,20);
       x = x + 50;
       hands++;
       if (x > 600) {
           x = 20;
           y = y + 40;
       }
   }

} </canvas>