diff --git a/Equipe.pde b/Equipe.pde index 840cfcc..da12194 100644 --- a/Equipe.pde +++ b/Equipe.pde @@ -65,6 +65,11 @@ class Equipe { this.tour++; } + void decTour() { + if (this.tour==0) return; + this.tour--; + } + void setTour(int tour) { this.tour = tour; } diff --git a/Plateau.pde b/Plateau.pde index 599558b..1346eac 100644 --- a/Plateau.pde +++ b/Plateau.pde @@ -47,6 +47,7 @@ void setup() { Scoreboard.applyScores(); } +// positionnement des pions sur une case, répartis en cercle si ils sont plusieurs void drawAround(int score) { //println("draw around", score); for (int i=0; i timer + 2000) { Scoreboard.reloadFromDisk(); timer = millis(); } + // si on est pas en mode édition, arrêter là if (!EDITING) return; + // afficher les positions à éditer for (int i = 0 ; i < positions.length; i++) { positions[i].draw(); } diff --git a/Scoreboard.pde b/Scoreboard.pde index b9d738f..ebe0760 100644 --- a/Scoreboard.pde +++ b/Scoreboard.pde @@ -3,7 +3,7 @@ class Scoreboard { String dataSource; // nom du fichier csv Table table; boolean autoload = true; // chargement et rechargement automatique - boolean display = false; + boolean display = true; float posX, posY, width, height; // position et dimensions de l'afficheur Scoreboard() { @@ -17,9 +17,9 @@ class Scoreboard { void setup() { if (autoload) this.load(); - this.posX = 348; - this.posY = 59; - this.width = 1239; + this.posX = 948; + this.posY = 130; + this.width = 439; this.height = 158; } @@ -131,59 +131,71 @@ class Scoreboard { } void draw() { - if (!this.display) return; + //if (!this.display) return; int count = 0; //int podium = 3; int margin = 60; - float offsetX = this.posX+this.width+10; + float offsetX = this.posX; float offsetY = this.posY; float lastX = 0; rectMode(CORNER); + + + + fill(color(120, 0, 0, 200)); + stroke(color(255, 255, 255)); + strokeWeight(2); + rect(this.posX, this.posY, this.width, this.height); + // pour chaque score de 50 à 1 for (int i=50; i>0; i--) { + // on limite aux 5 premières équipes + if (count==5) break; // récupération des équipes à ce score Iterable rowsIterable = this.findEquipesByScore(i); ArrayList teams = new ArrayList(); for (TableRow row : rowsIterable) { teams.add(row.getString("equipe")); } // arrêter la boucle si on est hors du cadre d'affichage - if (offsetX-margin<=this.posX) break; + //if (offsetX-margin<=this.posX) break; // passer cette itération si aucune équipe à afficher if (teams.size()==0) continue; // affichage du score fill(color(0,0,0)); - rect(offsetX-66, offsetY+20, 55, 50); + rect(offsetX, offsetY+20, 55, 50); fill(color(240, 240, 80)); stroke(color(0, 0, 0)); strokeWeight(1); textFont(quicksandFont, 40); + String text = str(count); + text += count==1? " er": "ème"; // correction de positionnement horizontal - float localMarginX = (i<=9)? margin-14: (i>=40)? margin+8: margin; - localMarginX = (teams.size()>1)? localMarginX+((teams.size()-1)*margin)/2: localMarginX; - //text(i, offsetX-margin, offsetY+margin); + // selon largeur du texte + //float localMarginX = (i<=9)? margin+14: (i>=40)? margin-8: margin; + // selon nombre d'équipes à afficher pour ce score + //localMarginX = (teams.size()>1)? localMarginX+((teams.size()-1)*margin)/2: localMarginX; //fill(color(0, 250, 0)); - text(i, offsetX-localMarginX, offsetY+margin); + text(text, offsetX+margin/2, offsetY+margin); // affichage des équipes for(int j=0; j=40)? margin+4: margin; - subLocalMarginX -=4; + // correction de positionnement horizontal + // selon largeur du texte + float subLocalMarginX = (int(teams.get(j))<=9)? margin-10: (int(teams.get(j))>=40)? margin-40: margin-30; fill(color(240, 240, 80)); - circle(offsetX-(margin*(j+1))+20, offsetY+(margin*2)-12, 50); + circle(offsetX+margin/2, offsetY+(margin*2)-12, 50); fill(color(0, 0, 0)); textFont(quicksandFont, 32); - //text(teams.get(j), offsetX-(margin*(j+1)), offsetY+(margin*2)); - //fill(color(0, 250, 0)); - text(teams.get(j), offsetX-(subLocalMarginX*(j+1)), offsetY+(margin*2)); + text(teams.get(j), offsetX+subLocalMarginX/2, offsetY+(margin*2)); count++; } line(offsetX-(margin*teams.size())-10, offsetY, offsetX-(margin*teams.size())-10, offsetY+this.height); - lastX = offsetX-(margin*teams.size())-10; + lastX = offsetX+(margin*teams.size())-10; - offsetX -= margin*teams.size(); + offsetX += margin*teams.size(); } diff --git a/backgroundImage.jpg b/backgroundImage.jpg index e8224d9..f8402d4 100644 Binary files a/backgroundImage.jpg and b/backgroundImage.jpg differ diff --git a/title.png b/title.png index 6387c27..16ff63a 100644 Binary files a/title.png and b/title.png differ