diff --git a/Cercles.svg b/Cercles.svg
deleted file mode 100644
index 98d64ed..0000000
--- a/Cercles.svg
+++ /dev/null
@@ -1,451 +0,0 @@
-
-
diff --git a/Equipe.pde b/Equipe.pde
index c5cc947..d375352 100644
--- a/Equipe.pde
+++ b/Equipe.pde
@@ -8,13 +8,6 @@ class Equipe {
Equipe(int id) {
this.id = id;
this.score = 0;
- //float randomHue = random(255);
- //float randomSaturation = random(100,255);
- //float randomBrightness = random(80,255);
- //color inverseText = color(float(255)-randomHue, float(255)-randomSaturation, float(255)-randomBrightness);
- //this.couleur = color(randomHue, randomSaturation, randomBrightness);
- //this.pion = new Pion(this.id, this.couleur, inverseText);
-
// générer un pion pour l'équipe
this.pion = new Pion(this.id);
@@ -48,6 +41,6 @@ class Equipe {
void setScore(int score) {
this.score = score;
- println("Equipe", this.id+1, "setScore", score);
+ //println("Equipe", this.id+1, "setScore", score);
}
}
diff --git a/Pion.pde b/Pion.pde
index 7623808..652036f 100644
--- a/Pion.pde
+++ b/Pion.pde
@@ -1,21 +1,19 @@
-class Pion {
- int id;
- float posX, posY; // position
- color bgColor, textColor; // couleur du fond et du texte
- boolean hovered, dragged = false; // état au survol et en déplacement
- int radius = 30; // rayon du pion
+class Pion extends Position {
int margin = 45; // marge au bord de l'écran
- PVector offset;
+ boolean lazored = false;
Pion(int id) {
- this.id = id;
- this.bgColor = color(235, 112, 71, 0.8);
- this.textColor = color(200);
- this.posX = floor((displayWidth-margin*2)/nombreEquipes)*id+radius+margin;
- this.posY = displayHeight-24;
+ super(id);
+ this.bgColor = color(0, 0, 0);
+ this.textColor = color(255, 255, 255);
+ this.posX = floor((displayWidth-margin*2)/nombreEquipes)*id+radius/2+margin;
+ this.posY = displayHeight-28;
+ this.radius = 30;
}
void draw() {
+ //fireLazors(this);
+
color bgColor = this.getBgColor();
color textColor = this.getTextColor();
@@ -42,22 +40,16 @@ class Pion {
return this.dragged? color(0): this.hovered? this.bgColor: this.textColor;
}
- void dragStart() {
- this.dragged = true;
- // calcul et stockage du décalage au curseur pour éviter l'effet snap
- this.offset = new PVector(posX-mouseX, posY-mouseY);
- }
-
- void dragStop() {
- this.dragged = false;
- this.offset = new PVector(0,0);
- }
-
- void hoverStart() {
- this.hovered = true;
- }
-
void hoverStop() {
this.hovered = false;
+ this.lazored = false;
+ }
+
+ void fireLazors(Pion p) {
+ if (!this.lazored) return;
+ stroke(255, 15, 15);
+ strokeWeight(2);
+ line(245, 158, p.posX, p.posY);
+ line(displayWidth-245, 158, p.posX, p.posY);
}
}
diff --git a/Plateau.pde b/Plateau.pde
index 4b42553..366f53e 100644
--- a/Plateau.pde
+++ b/Plateau.pde
@@ -3,12 +3,8 @@ Equipe[] equipes;
Position[] positions;
int nombreEquipes = 42;
PFont quicksandFont;
-boolean EDITING;
-
-Table table_Cercles, positionTable, scoreboard;
-float[] coord_x;
-float[] coord_y;
-int[] coord_rayon;
+boolean EDITING=false;
+Table positionTable, scoreboard;
void setup() {
@@ -19,31 +15,53 @@ void setup() {
colorMode(RGB, 255);
rectMode(CENTER);
noStroke();
- EDITING=false;
+ // modifier les positions des cases du plateau
+ //EDITING=true;
- table_Cercles = loadTable("data/positionTable.csv", "header");
- quicksandFont = loadFont("Quicksand-Bold-40.vlw");
+ // chargement du scoreboard ou génération du scoreboard vide
+ loadScoreboard();
+ positionTable = loadTable("data/positionTable.csv", "header");
+ quicksandFont = loadFont("Quicksand-Bold-40.vlw");
backgroundImage = loadImage("backgroundImage.jpg");
- image(backgroundImage, 0, 0, displayWidth, displayHeight);
-
+
+ // génération des équipes
equipes = new Equipe[nombreEquipes];
for (int i=0; i0) {
+ float angle = PI;
+ // ce bloc est incompréhensible... mais il fait son taf
+ for(int j=0; jthreshold && (p.hovered || p.dragged)) {
- p.dragStop();
- p.hoverStop();
- break;
- } else if (distPosition<=threshold && !p.hovered) {
- p.hoverStart();
- //println(p.posX, p.posY);
- break;
- }
+ if (!EDITING) return;
+ for (int i = 0 ; i < positions.length; i++) {
+ Position p = positions[i];
+ float distPosition = dist(p.posX, p.posY, mouseX, mouseY);
+ float threshold = p.radius/2;
+ if (distPosition>threshold && (p.hovered || p.dragged)) {
+ p.dragStop();
+ p.hoverStop();
+ break;
+ } else if (distPosition<=threshold && !p.hovered) {
+ p.hoverStart();
+ break;
}
}
}
@@ -100,20 +118,18 @@ void mousePressed() {
}
}
- if (EDITING) {
- for (int i = 0 ; i < positions.length; i++) {
- Position p = positions[i];
- float d = dist(p.posX, p.posY, mouseX, mouseY);
- if (d