Code

// Broken Clock
//My clock doesn't work right. Perhaps you can help fix it?

void setup(){
  size(400,400);
}

void loop(){
  background(200, 223, 128);
  stroke(33, 33, 33);
  strokeWeight(1);

  drawSeconds();
  drawMinutes();
  drawHours();
}

void drawSeconds(){
  int secs = second();
  int spacerX = 15;//X space between circles
  int spacerY = 72;//Y space between lines

  int secsX = 300;//starting X position
  int secsY = 20;//starting Y position

  int lineLength = 10;//how many circles in a line
  int lineNumber = 6;//number of lines total

  for (int ln=0;ln<lineNumber;ln++){//make the line

    for (int ll=0;ll<lineLength;ll++){//make the line itself

      //This is where the problem is, in filling in the circles

      for(int i=0; i<60;i++){//draw the circles
        if (ll*ln<=secs){
          fill(130, 145, 83);
        }
        else{
          noFill();
        }
        ellipseMode(CENTER_DIAMETER);
        ellipse(secsX + spacerX * ll, secsY, 10, 10);

      }//circles end
    }//line ends

    secsY = secsY + spacerY;//make more space between lines

  }//number of lines end

}//seconds ends

void drawMinutes(){
  int mins = minute();

  int spacerX = 25;//X space between circles
  int spacerY = 40;//Y space between lines

  int minsX = 140;//starting X position
  int minsY = 20;//starting Y position

  int lineLength = 6;//how many circles in a line
  int lineNumber = 10;//number of lines total

  for (int ln=0;ln<lineNumber;ln++){//make the line

    for (int ll=0;ll<lineLength;ll++){//make the line itself

      for(int i=0;i<60;i++){
        if (ln*ll<=mins){
          fill(157, 184, 105);
        }
        else{
          noFill();
        }
        ellipseMode(CENTER_DIAMETER);
        ellipse(minsX + spacerX * ll, minsY, 20, 20);

      }//circles end
    }//line ends

    minsY = minsY + spacerY;

  }//number of lines end

}//minutes ends

void drawHours(){

  int hours = hour();
  int spacerX = 35;//X space between circles
  int spacerY = 51;//Y space between lines

  int hoursX = 20;//starting X position
  int hoursY = 20;//starting Y position

  int lineLength = 3;//how many circles in a line
  int lineNumber = 8;//number of lines total

  for (int ln=0;ln<lineNumber;ln++){//make the line

    for (int ll=0;ll<lineLength;ll++){//make the line itself

      for(int i=0;i<24;i++){//fills in the circles
        if (ln*ll<=hours){
          fill(190, 222, 126);
        }
        else{
          noFill();
        }

        ellipseMode(CENTER_DIAMETER);
        ellipse(hoursX + spacerX * ll, hoursY, 30, 30);

      }//circles end
    }//line ends

    hoursY = hoursY + spacerY;

  }//number of lines end

}//hours ends

016 -- Abstract Clock: A diurnally-cyclic dynamic display

Statement:Create an abstract clock. It is not essential that the time of day be literally readable from it, but your clock should appear different at all times of the day, and it should repeat its appearance every 24 hours. (You can make a 12-hour clock if you prefer). If you do decide to make the time literally readable, you are not permitted to use conventional Roman/Arabic/etc. numerals.
Requirements: 400x400 pixels.
Optional: 3D, Reactivity to the cursor.
I can't quite get this to work.

hide statement