Utilisateur:Adrien

De Wikilipo
Aller à la navigation Aller à la recherche

Le projet au --Adrien 13 novembre 2010 à 12:53 (UTC)

Projet Lausanne 2011

But du jeu

Scheme.jpg

Algorithme

Pseudo-code

Code

Matériel

Exemples

Ruban=

// An array of news headlines String[] headlines = {

 "Processing downloads break downloading record.", 
 "New study shows computer programming lowers cholesterol.",
 };

PFont f; // Global font variable float x; // horizontal location of headline int index = 0;

void setup() {

 size(400,200);
 f = createFont("Arial",16,true);  
 // Initialize headline offscreen to the right 
 x = width; 

}

void draw() {

 background(255);
 fill(0);
 // Display headline at x  location
 textFont(f,16);        
 textAlign(LEFT);
 text(headlines[index],x,180); 
 // Decrement x
 x = x - 3;
 // If x is less than the negative width, 
 // then it is off the screen
 float w = textWidth(headlines[index]);
 if (x < -w) {
   x = width; 
   index = (index + 1) % headlines.length;
 }

}

Grille=

// 2D Array of objects
Cell[][] grid;

// Number of columns and rows in the grid
int cols = 10;
int rows = 10;

void setup() {
  size(200,200);
  grid = new Cell[cols][rows];
  for (int i = 0; i < cols; i++) {
    for (int j = 0; j < rows; j++) {
      // Initialize each object
      grid[i][j] = new Cell(i*20,j*20,20,20,i+j);
    }
  }
}

void draw() {
  background(0);
  // The counter variables i and j are also the column and row numbers and 
  // are used as arguments to the constructor for each object in the grid.  
  for (int i = 0; i < cols; i++) {
    for (int j = 0; j < rows; j++) {
      // Oscillate and display each object
      grid[i][j].oscillate();
      grid[i][j].display();
    }
  }
}

// A Cell object
class Cell {
  // A cell object knows about its location in the grid as well as its size with the variables x,y,w,h.
  float x,y;   // x,y location
  float w,h;   // width and height
  float angle; // angle for oscillating brightness

  // Cell Constructor
  Cell(float tempX, float tempY, float tempW, float tempH, float tempAngle) {
    x = tempX;
    y = tempY;
    w = tempW;
    h = tempH;
    angle = tempAngle;
  } 
  
  // Oscillation means increase angle
  void oscillate() {
    angle += 0.02; 
  }

  void display() {
    stroke(255);
    // Color calculated using sine wave
    fill(127+127*sin(angle));
    rect(x,y,w,h); 
  }
}