Vai al contenuto

Array bidimensionali: esercizio media difficoltà (soluzione)

Ecco la soluzione all'esercizio di difficoltà media proposto nell'articolo Array bidimensionali.

Esercizio:

Siete in grado di modificare lo script affinché, ad esempio, modificando i valori all’interno di size() mi venga disegnata sempre una scacchiera di 8×8 che occupi l’intera grandezza della finestra (anche quando non è quadrata)?

Soluzione:

/*
 * Array bidimensionali - esercizio media difficoltà
 * Federico Pepe, 19.02.2017
 * http://blog.federicopepe.com/processing
*/

int[][] scacchiera = { 
  {1, 0, 1, 0, 1, 0, 1, 0}, 
  {0, 1, 0, 1, 0, 1, 0, 1}, 
  {1, 0, 1, 0, 1, 0, 1, 0}, 
  {0, 1, 0, 1, 0, 1, 0, 1}, 
  {1, 0, 1, 0, 1, 0, 1, 0}, 
  {0, 1, 0, 1, 0, 1, 0, 1}, 
  {1, 0, 1, 0, 1, 0, 1, 0}, 
  {0, 1, 0, 1, 0, 1, 0, 1} };

void setup() {
  size(480, 700);

  int rows = 8;
  int cols = 8;

  float tileSizeX = width/rows;
  float tileSizeY = height/cols;

  for (int i = 0; i < rows; i++) {
    for(int j = 0; j < cols; j++) {
      if(scacchiera[i][j] == 0) {
        fill(0);
      } else {
        fill(255);
      }
      rect(i*tileSizeX, j*tileSizeY, tileSizeX, tileSizeY);
    }
  }
}

void draw() {
}

Esercizio array bidimensionale