Grid of letters using cell-object
in
Programming Questions
•
2 years ago
Hi,
Here's a little sketch for displaying letters from a key input (only a,b,c,e,f,p,s,x, are working for now) in a grid of cells:
- Cell[][][] grille; //tableau d'objets-cellules
- int nb=11;
- int cols=5;
- int rows=5;
- int larg=854;
- int haut=480;
- /*patterns of letters*/boolean[] motif={true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true};
- boolean[] motifA={false,false,true,false,false,false,false,true,false,false,false,true,false,true,false,true,true,true,true,true,true,false,false,false,true};
- boolean[] motifB={true,true,true,true,true,true,false,false,false,true,true,true,true,true,true,true,false,false,false,true,true,true,true,true,true};
- boolean[] motifC={true,true,true,true,true,true,false,false,false,false,true,false,false,false,false,true,false,false,false,false,true,true,true,true,true};
- boolean[] motifE={true,true,true,true,true,true,false,false,false,false,true,true,true,true,true,true,false,false,false,false,true,true,true,true,true};
- boolean[] motifF={true,true,true,true,true,true,false,false,false,false,true,true,true,true,true,true,false,false,false,false,true,false,false,false,false};
- boolean[] motifP={true,true,true,true,true,true,false,false,false,true,true,true,true,true,true,true,false,false,false,false,true,false,false,false,false};
- boolean[] motifS={true,true,true,true,true,true,false,false,false,false,true,true,true,true,true,false,false,false,false,true,true,true,true,true,true};
- boolean[] motifX={true,false,false,false,true,false,true,false,true,false,false,false,true,false,false,false,true,false,true,false,true,false,false,false,true};
- //SETUP
- void setup() {
- size(larg,haut);
- grille = new Cell[nb][cols][rows];
- for (int h=0; h < nb; h++) {
- for (int i = 0; i < cols; i++) {
- for (int j = 0; j < rows; j++) {
- grille[h][i][j] = new Cell(i*10+25+h*75,j*10,10,10);
- }
- }
- }
- }
- //DRAW
- void draw() {
- background(0); //fond noir
- for (int h=0; h < nb; h++) {
- int n=0;
- for (int i = 0; i < cols; i++) {
- for (int j = 0; j < rows; j++) {
- if (motif[n]) {
- grille[h][j][i].allumer();
- }
- else {
- grille[h][j][i].eteindre();
- }
- n++;
- }
- }
- //h++;
- }
- }
- //CELLULES
- class Cell {
- float x,y;
- float w,h;
- Cell(float tempX, float tempY, float tempW, float tempH) {
- x = tempX;
- y = tempY;
- w = tempW;
- h = tempH;
- }
- void allumer() {
- stroke (0); //contour noir
- fill (255); //interieur blanc
- rect(x,y,w,h); //dessine les cellules
- }
- void eteindre() {
- stroke (0);
- fill (0);
- rect(x,y,w,h);
- }
- }
- //MAJ
- void keyPressed() {
- switch (key) {
- case 'a': arrayCopy(motifA,motif);
- break;
- case 'b': arrayCopy(motifB,motif);
- break;
- case 'c': arrayCopy(motifC,motif);
- break;
- case 'e': arrayCopy(motifE,motif);
- break;
- case 'f': arrayCopy(motifF,motif);
- break;
- case 'p': arrayCopy(motifP,motif);
- break;
- case 's': arrayCopy(motifS,motif);
- break;
- case 'x': arrayCopy(motifX,motif);
- break;
- }
- //h--;
- }
from left to right, with return to the first when complete?
1