> show canvas only <


/* built with Studio Sketchpad: 
 *   https://sketchpad.cc
 * 
 * observe the evolution of this sketch: 
 *   https://studio.sketchpad.cc/sp/pad/view/ro.AWiu1uxTu8i/rev.106
 * 
 * authors: 
 *   FuriouZz

 * license (unless otherwise specified): 
 *   creative commons attribution-share alike 3.0 license.
 *   https://creativecommons.org/licenses/by-sa/3.0/ 
 */ 



// Créer une série d'objet ou chaque objet est différent 
// à travers les paramètres du prototype objet. Les paramètres 
// sont des propriétés en forme de liste.

float angle = PI/3;
int i = 0, j = 0, k = 0;
int test = 1;
int banane = 0;

float posXrd = random(100, 500);
float posYrd = random(100, 700);
float dimRd = random(20, 30);
int decideur;

int largeur = 600, hauteur = 800;
float [] posX = {
  largeur/4, largeur/2, largeur*3/4, largeur*7/8, largeur*3/4, largeur/2, largeur/4, largeur/8
};
float [] posY = {
  hauteur/4, hauteur/8, hauteur/4, hauteur/2, hauteur*3/4, hauteur*7/8, hauteur*3/4, hauteur/2
};

float dim = 50;  

int nbTrigon = 8;
Trigon[] trigon = new Trigon[nbTrigon];

void setup() {
  size(500, 500);
  smooth();
  noStroke();
  
  for(int i = 0; i < nbTrigon; i++){
    trigon[i] = new Trigon(posX[i], posY[i]);
  }
  
}

void draw() {
  // Background
  fill(47, 47, 47, 10);
  rect(0, 0, width, height);
  //background(47, 47, 47, 10);
  fill(255);
  
  //for(int i = 0; i < nbTrigon; i++){
    //println("test");
    //trigon[i].display();
    //trigon[i].collision();
  //}
  

  translate(width/2, height/2);
  angle++;
  rotate(angle);
  banane++;
  rect(banane, banane, 20, 20);
}

void trigon(float x, float y, float hauteur, float largeur) {
  // Paramètre d'un triangle de taille 50x50
  float posYHaut = 0;
  float posYBas = 50;

  float posXMilieu = 25; 
  float posXGauche = 0;
  float posXDroite = 50;

  float [] centreTriangle = new float [2];
  centreTriangle[0] = (posXDroite-posXGauche)/2 +posXGauche;
  centreTriangle[1] = (posYBas-posYHaut)/2 +posYHaut;

  centreTriangle[0] = x;
  centreTriangle[1] = y;

  largeur = largeur /2;
  hauteur = hauteur/2;

  posXGauche = centreTriangle[0]-largeur;
  posXDroite = centreTriangle[0]+largeur;

  posYHaut = centreTriangle[1]-hauteur;
  posYBas = centreTriangle[1]+hauteur;  

  triangle(posXGauche, posYHaut, posXDroite, posYHaut, centreTriangle[0], posYBas);
}

void rectangle(float x, float y, float hauteur, float largeur) {
  rectMode(CENTER);
  rect(x, y, hauteur, largeur);
  rectMode(CORNER);
}

void circle(float x, float y, float hauteur, float largeur) {
  ellipse(x, y, hauteur, largeur);
}

void initialisation() {
  posXrd = random(100, 500);
  posYrd = random(100, 700);
  dimRd = 30;
  decideur = (int) random(0, 3);
}

void curseur() {
  noFill();
  stroke(#FFFFFF);

  strokeWeight(1);
  point(mouseX, mouseY);

  //whShape(decideur, pmouseX, pmouseY, j/5, j/5);
  circle(pmouseX, pmouseY, j/5, j/5);
}

void whShape(int decideur, float x, float y, float largeur, float hauteur) {
  switch(decideur) {
  case 0 : 
    trigon(x, y, largeur, hauteur);  
    break;

  case 1 : 
    rectangle(x, y, largeur, hauteur);
    break;

  case 2 : 
    circle(x, y, largeur, hauteur);
    break;
  }
}

class Trigon{
  float x;
  float y;
  float dim = 20;
  int collision = 0;
  
  // Constructeur
  Trigon(float newX, float newY){
    x = newX;
    y = newY;
  }
  
  void display(){
    fill(255, 255, 255);
    if(collision == 1) noFill();    
    trigon(x, y, dim, dim);
  }
  
  void collision(){

    
    if( mouseX > (x-dim/2) && mouseX < (x+dim/2) && mouseY > (y-dim/2) && mouseY < (y+dim/2)){
      collision = 1;
    }
    if(collision == 1){
      dim+=10;      
      if (dim > 1000) {
        dim = 20;
       collision = 0; 
      }
    }
  }
}

//  translate(width/2, height/2);
//  angle++;
//  rotate(angle);

//rectangle(0, 10, 50, 50);
//circle(250,250,2*i,2*i);