From a4a4caebdf6f95bbe2f93c9c08e56406b1f29c4d Mon Sep 17 00:00:00 2001 From: Adrien W Date: Thu, 5 Sep 2024 19:05:05 +0200 Subject: [PATCH] =?UTF-8?q?Modification=20de=20la=20m=C3=A9canique=20du=20?= =?UTF-8?q?compteur=20de=20tours?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Equipe.pde | 18 ++++++++++++++---- Pion.pde | 2 +- Plateau.pde | 23 +++++++++++++++++++++++ 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Equipe.pde b/Equipe.pde index 2e860b2..840cfcc 100644 --- a/Equipe.pde +++ b/Equipe.pde @@ -22,8 +22,8 @@ class Equipe { void update() { // affichage de l'emplacement d'équipe, qui restera toujours fixe - color bgColor = color(235, 112, 71, 0.8); - color textColor = color(240, 240, 80); + color bgColor = color(255, 255, 255, 120); + color textColor = color(0,0,0); fill(bgColor); stroke(bgColor); strokeWeight(0.5); @@ -35,6 +35,16 @@ class Equipe { float pos_x = this.id<9? this.posX-radius/5: this.posX-radius/3; text(this.id+1, pos_x, this.posY+radius/5); + // affichage des tours + if (this.tour>0) { + color tourColor = color(255, 255, 255, 200); + fill(tourColor); + textSize(textSize); + float pos_y = this.posY+radius/5+30; + if (this.tour>=10) pos_x = pos_x - 6; + text(this.tour, pos_x, pos_y); + } + // mise à jour du pion this.pion.draw(); } @@ -42,8 +52,8 @@ class Equipe { void setScore(int score) { if (this.score==score) return; int oldScore = this.score; - this.incTour(); - println("Equipe", this.id+1, "setScore from", oldScore, "to", score, "turn updated to", this.tour); + //this.incTour(); + println("Equipe", this.id+1, "setScore from", oldScore, "to", score); this.score = score; this.update(); Scoreboard.applyScore(this.id, this.score, this.tour); diff --git a/Pion.pde b/Pion.pde index 0288a34..ce87565 100644 --- a/Pion.pde +++ b/Pion.pde @@ -9,7 +9,7 @@ class Pion extends Position { this.bgColor = color(0, 0, 0); this.textColor = color(240, 240, 80); this.posX = floor((displayWidth-margin*2)/nombreEquipes)*id+radius/2+margin; - this.posY = displayHeight-42; + this.posY = displayHeight-46; this.radius = 30; } diff --git a/Plateau.pde b/Plateau.pde index 2f8efff..599558b 100644 --- a/Plateau.pde +++ b/Plateau.pde @@ -129,6 +129,13 @@ void mousePressed() { Scoreboard.toggleDisplay(); } + Equipe clicked = findClosestEquipeFromMouse(); + //if (!clicked.pion.dragged) { + clicked.incTour(); + Scoreboard.save(); + println("Clicked on Equipe", clicked.id+1, "set tour to ", clicked.tour); + //} + if (!EDITING) return; for (int i = 0 ; i < positions.length; i++) { Position p = positions[i]; @@ -240,6 +247,22 @@ Position findClosestPositionFrom(Pion pion) { return closest; } +// renvoie l'emplacement d'équipe le plus proche de la souris +Equipe findClosestEquipeFromMouse() { + Equipe closest = equipes[0]; + + for (int i = 0 ; i < equipes.length; i++) { + Equipe equipe = equipes[i]; + + float distPion = dist(mouseX, mouseY, equipe.posX, equipe.posY); + float distClosest = dist(mouseX, mouseY, closest.posX, closest.posY); + + if (distPion<=distClosest) closest = equipes[i]; + } + + return closest; +} + boolean fileExists(String filename) { File f = dataFile(filename); return f.isFile();