Java I

Jonah Warren
jonah@parsons.edu
http://a.parsons.edu/~java2004

Class 6 code


ONE STROBE BLOCK
int canvasSize = 200;
strobeBlock sBlock;

void setup() {
  size(canvasSize, canvasSize);
  sBlock = new strobeBlock(75,75,10);
}

void loop() {
  background(255);

  sBlock.update();
  sBlock.draw();
}

class strobeBlock {

  float xPos;
  float yPos;
  float speed;
  float col;

  strobeBlock(float xp, float yp, float sp) {
    xPos = xp;
    yPos = yp;
    speed = sp;
    col = 0;
  }

  void draw() {
    noStroke();
    fill(col);
    rect(xPos, yPos, 50, 50);
  }

  void update() {
    col = (col + speed) % 255;
  }

}

AN ARRAY OF STROBE BLOCKS
int canvasSize = 200;
strobeBlock[] sBlock = new strobeBlock[100];

void setup() {
  size(canvasSize, canvasSize);
  //sBlock = new strobeBlock(75,75,10);

  for(int i=0;i<10;i++) {
    for(int j=0;j<10;j++) {
      sBlock[i*10+j] = new strobeBlock(i*20+2, j*20+2, random(10));
    }
  }

}

void loop() {
  background(255);
  for(int i=0;i<100;i++) {
    sBlock[i].update();
    sBlock[i].draw();
  }
}

class strobeBlock {

  float xPos;
  float yPos;
  float speed;
  float col;

  strobeBlock(float xp, float yp, float sp) {
    xPos = xp;
    yPos = yp;
    speed = sp;
    col = 0;
  }

  void draw() {
    noStroke();
    fill(col);
    rect(xPos, yPos, 15, 15);
  }

  void update() {
    col = (col + speed) % 255;
  }

}

Try changing random(10) to i+j. Pretty patterns....