/* 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);