/* built with Studio Sketchpad: * https://sketchpad.cc * * observe the evolution of this sketch: * https://studio.sketchpad.cc/sp/pad/view/ro.b5bOOrnhRR8/rev.10 * * authors: * GoToLoop * license (unless otherwise specified): * creative commons attribution-share alike 3.0 license. * https://creativecommons.org/licenses/by-sa/3.0/ */ /** * GridGUI Sample (v2.01) * by GoToLoop (2013/May) * * forum.processing.org/topic/basic-gui * studio.processingtogether.com/sp/pad/export/ro.98-pSvW97Q-RE/latest */ static final byte GRID = 8; boolean[][] leds = new boolean[GRID][GRID]; static final color OFF = 0350, ON = #0000FF; static final short DIM = 0100; void setup() { size(GRID*DIM + 1, GRID*DIM + 1, JAVA2D); noLoop(); frameRate(60); smooth(4); stroke(0); strokeWeight(1.5); initGrid(); } void draw() { for (int row = 0; row != GRID; ++row) for (int col = 0; col != GRID; ++col) { fill(leds[row][col] ? ON : OFF); rect(col*DIM, row*DIM, DIM, DIM); } } void keyPressed() { initGrid(); redraw(); } void mousePressed() { keyPressed(); } void initGrid() { for (int row = 0; row != GRID; ++row) for (int col = 0; col != GRID; ++col) leds[row][col] = random(1) > .5; }