diff --git a/code/ressources/fxml/TopPlayers.fxml b/code/ressources/fxml/TopPlayers.fxml index cadb8fa..87dd730 100644 --- a/code/ressources/fxml/TopPlayers.fxml +++ b/code/ressources/fxml/TopPlayers.fxml @@ -36,102 +36,9 @@ preserveRatio="true"> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/ressources/resultat/resultats.txt b/code/ressources/resultat/resultats.txt index 27f1fb0..372d596 100644 --- a/code/ressources/resultat/resultats.txt +++ b/code/ressources/resultat/resultats.txt @@ -1,4 +1,13 @@ -11 1 20-01-22 -12 1 20-01-22 17 1 20-01-22 11 1 20-01-22 +18 8 21-01-22 +10 6 21-01-22 +100 6 21-01-22 +9 1 21-01-22 +20 1 21-01-22 +21 1 21-01-22 +22 1 21-01-22 +23 1 21-01-22 +24 1 21-01-22 +25 1 21-01-22 +26 1 21-01-22 \ No newline at end of file diff --git a/code/src/controller/TopPlayerController.java b/code/src/controller/TopPlayerController.java index d08b53a..a6904c0 100644 --- a/code/src/controller/TopPlayerController.java +++ b/code/src/controller/TopPlayerController.java @@ -6,8 +6,16 @@ import javafx.fxml.Initializable; import javafx.scene.control.Button; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; +import javafx.scene.paint.Color; +import javafx.scene.text.Text; +import model.ListeScore; +import model.ResultatTxt; +import model.Score; import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import java.util.ArrayList; import java.util.Objects; import java.util.ResourceBundle; @@ -18,11 +26,354 @@ public class TopPlayerController implements Initializable { @FXML private Button returnToMenu; - + private Text resultat1; + private Text resultat2; + private Text resultat3; + private Text resultat4; + private Text resultat5; + private Text resultat6; + private Text resultat7; + private Text resultat8; + private Text resultat9; + private Text resultat10; @Override public void initialize(URL url, ResourceBundle resourceBundle) { + initialisationTexte(); + afficherRésultat(); + } + public void initialisationTexte(){ + resultat1 = new Text(); + resultat1.setText(""); + resultat1.setX(300); + resultat1.setY(210); + resultat1.setFill(Color.WHITE); + resultat1.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat2 = new Text(); + resultat2.setText(""); + resultat2.setX(300); + resultat2.setY(240); + resultat2.setFill(Color.WHITE); + resultat2.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat3 = new Text(); + resultat3.setText(""); + resultat3.setX(300); + resultat3.setY(270); + resultat3.setFill(Color.WHITE); + resultat3.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat4 = new Text(); + resultat4.setText(""); + resultat4.setX(300); + resultat4.setY(300); + resultat4.setFill(Color.WHITE); + resultat4.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat5 = new Text(); + resultat5.setText(""); + resultat5.setX(300); + resultat5.setY(330); + resultat5.setFill(Color.WHITE); + resultat5.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat6 = new Text(); + resultat6.setText(""); + resultat6.setX(300); + resultat6.setY(360); + resultat6.setFill(Color.WHITE); + resultat6.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat7 = new Text(); + resultat7.setText(""); + resultat7.setX(300); + resultat7.setY(390); + resultat7.setFill(Color.WHITE); + resultat7.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat8 = new Text(); + resultat8.setText(""); + resultat8.setX(300); + resultat8.setY(420); + resultat8.setFill(Color.WHITE); + resultat8.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat9 = new Text(); + resultat9.setText(""); + resultat9.setX(300); + resultat9.setY(450); + resultat9.setFill(Color.WHITE); + resultat9.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + resultat10 = new Text(); + resultat10.setText(""); + resultat10.setX(300); + resultat10.setY(480); + resultat10.setFill(Color.WHITE); + resultat10.setStyle("-fx-font: 20 Arial; -fx-alignment: CENTER;"); + + + levelRoot.getChildren().addAll(resultat1,resultat2,resultat3,resultat4,resultat5,resultat6,resultat7,resultat8,resultat9,resultat10); + } + + public void afficherRésultat(){ + ResultatTxt resultatTxt = new ResultatTxt(); + ListeScore listeScore = new ListeScore(); + ArrayList liste = new ArrayList<>(); + listeScore = resultatTxt.chargerResultat(); + liste = listeScore.getListeScore(); + int meilleur1 = 0; + int meilleur2 = 0; + int meilleur3 = 0; + int meilleur4 = 0; + int meilleur5 = 0; + int meilleur6 = 0; + int meilleur7 = 0; + int meilleur8 = 0; + int meilleur9 = 0; + int meilleur10 = 0; + String valeur1 = ""; + String valeur2 = ""; + String valeur3 = ""; + String valeur4 = ""; + String valeur5 = ""; + String valeur6 = ""; + String valeur7 = ""; + String valeur8 = ""; + String valeur9 = ""; + String valeur10 = ""; + + //make a hashmap + HashMap map = new HashMap<>(); + String value = ""; + int i = 0; + + for (Score score : liste) { + value = "Lvl : " + score.getLevel() + " Date : " + score.getDate(); + map.put(score.getScore(), value); + //System.out.println(score.getScore() + " " + score.getLevel() + " " + score.getDate()); + } + for(Map.Entry entry : map.entrySet()){ + Integer key = entry.getKey(); + String valeur = entry.getValue(); + + System.out.println(i + " " + key + " " + valeur); + switch (i){ + case 0: + meilleur1 = key; + valeur1 = valeur; + break; + case 1: + meilleur2 = key; + valeur2 = valeur; + break; + case 2: + meilleur3 = key; + valeur3 = valeur; + break; + case 3: + meilleur4 = key; + valeur4 = valeur; + break; + case 4: + meilleur5 = key; + valeur5 = valeur; + break; + case 5: + meilleur6 = key; + valeur6 = valeur; + break; + case 6: + meilleur7 = key; + valeur7 = valeur; + break; + case 7: + meilleur8 = key; + valeur8 = valeur; + break; + case 8: + meilleur9 = key; + valeur9 = valeur; + break; + case 9: + meilleur10 = key; + valeur10 = valeur; + break; + } + if(key >= meilleur1){ + System.out.println(key + " : key >= meilleur1"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = meilleur6; + valeur7 = valeur6; + meilleur6 = meilleur5; + valeur6 = valeur5; + meilleur5 = meilleur4; + valeur5 = valeur4; + meilleur4 = meilleur3; + valeur4 = valeur3; + meilleur3 = meilleur2; + valeur3 = valeur2; + meilleur2 = meilleur1; + valeur2 = valeur1; + meilleur1 = key; + valeur1 = valeur; + }else{ + if(key >= meilleur2){ + System.out.println(key + " : key >= meilleur2"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = meilleur6; + valeur7 = valeur6; + meilleur6 = meilleur5; + valeur6 = valeur5; + meilleur5 = meilleur4; + valeur5 = valeur4; + meilleur4 = meilleur3; + valeur4 = valeur3; + meilleur3 = meilleur2; + valeur3 = valeur2; + meilleur2 = key; + valeur2 = valeur; + }else{ + if(key >= meilleur3){ + System.out.println(key + " : key >= meilleur3"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = meilleur6; + valeur7 = valeur6; + meilleur6 = meilleur5; + valeur6 = valeur5; + meilleur5 = meilleur4; + valeur5 = valeur4; + meilleur4 = meilleur3; + valeur4 = valeur3; + meilleur3 = key; + valeur3 = valeur; + }else{ + if(key >= meilleur4){ + System.out.println(key + " : key >= meilleur4"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = meilleur6; + valeur7 = valeur6; + meilleur6 = meilleur5; + valeur6 = valeur5; + meilleur5 = meilleur4; + valeur5 = valeur4; + meilleur4 = key; + valeur4 = valeur; + }else{ + if(key >= meilleur5){ + System.out.println(key + " : key >= meilleur5"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = meilleur6; + valeur7 = valeur6; + meilleur6 = meilleur5; + valeur6 = valeur5; + meilleur5 = key; + valeur5 = valeur; + }else{ + if(key >= meilleur6){ + System.out.println(key + " : key >= meilleur6"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = meilleur6; + valeur7 = valeur6; + meilleur6 = key; + valeur6 = valeur; + }else{ + if(key >= meilleur7){ + System.out.println(key + " : key >= meilleur7"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = meilleur7; + valeur8 = valeur7; + meilleur7 = key; + valeur7 = valeur; + }else{ + if(key >= meilleur8){ + System.out.println(key + " : key >= meilleur8"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = meilleur8; + valeur9 = valeur8; + meilleur8 = key; + valeur8 = valeur; + }else{ + if(key >= meilleur9){ + System.out.println(key + " : key >= meilleur9"); + meilleur10 = meilleur9; + valeur10 = valeur9; + meilleur9 = key; + valeur9 = valeur; + }else{ + if(key >= meilleur10){ + System.out.println(key + " : key >= meilleur10"); + meilleur10 = key; + valeur10 = valeur; + } + } + } + } + } + } + } + } + } + } + i++; + } + if (meilleur10 != 0 && i>=10) { + resultat10.setText("Temps : " + meilleur10 + " " + valeur10); + } + if (meilleur9 != 0 && i>=9) { + resultat9.setText("Temps : " + meilleur9 + " " + valeur9); + } + if (meilleur8 != 0 && i>=8) { + resultat8.setText("Temps : " + meilleur8 + " " + valeur8); + } + if (meilleur7 != 0 && i>=7) { + resultat7.setText("Temps : " + meilleur7 + " " + valeur7); + } + if (meilleur6 != 0 && i>=6) { + resultat6.setText("Temps : " + meilleur6 + " " + valeur6); + } + if (meilleur5 != 0&& i>=5) { + resultat5.setText("Temps : " + meilleur5 + " " + valeur5); + } + if (meilleur4 != 0 && i>=4) { + resultat4.setText("Temps : " + meilleur4 + " " + valeur4); + } + if (meilleur3 != 0 && i>=3) { + resultat3.setText("Temps : " + meilleur3 + " " + valeur3); + } + if (meilleur2 != 0 && i>=2) { + resultat2.setText("Temps : " + meilleur2 + " " + valeur2); + } + if (meilleur1 != 0) { + resultat1.setText("Temps : " + meilleur1 + " " + valeur1); + } } @FXML diff --git a/code/src/model/ListeScore.java b/code/src/model/ListeScore.java index 69408ae..41d969e 100644 --- a/code/src/model/ListeScore.java +++ b/code/src/model/ListeScore.java @@ -11,4 +11,8 @@ public class ListeScore { public void addScore(Score score) { listeScore.add(score); } + + public ArrayList getListeScore() { + return listeScore; + } } diff --git a/code/src/model/Map.java b/code/src/model/Map.java index 164fc40..84ea3d1 100644 --- a/code/src/model/Map.java +++ b/code/src/model/Map.java @@ -92,7 +92,6 @@ public class Map { } return null; } - } diff --git a/code/src/model/ResultatTxt.java b/code/src/model/ResultatTxt.java index a116d4e..13c1757 100644 --- a/code/src/model/ResultatTxt.java +++ b/code/src/model/ResultatTxt.java @@ -21,7 +21,51 @@ public class ResultatTxt { e.printStackTrace(); } } - public ListeScore chargerResultat() { + + public ListeScore chargerResultat(){ + ListeScore ls = new ListeScore(); + try + { + // Le fichier d'entrée + File file = new File("ressources/resultat/resultats.txt"); + // Créer l'objet File Reader + FileReader fr = new FileReader(file); + // Créer l'objet BufferedReader + BufferedReader br = new BufferedReader(fr); + StringBuffer sb = new StringBuffer(); + String line; + String separateur = " "; + String[] tab; + int level; + int resultat; + String date; + while((line = br.readLine()) != null) + { + // ajoute la ligne au buffer + tab = line.split(separateur); + level = Integer.parseInt(tab[1]); + resultat = Integer.parseInt(tab[0]); + date = tab[2]; + Score sc = new Score(resultat, level, date); + ls.addScore(sc); + sb.append(resultat); + sb.append(level); + sb.append(date); + + } + fr.close(); + System.out.println("Contenu du fichier: "); + System.out.println(sb.toString()); + } + catch(IOException e) + { + e.printStackTrace(); + } + return ls; + } + + + /*public ListeScore chargerResultat() { ListeScore lp = new ListeScore(); String[] tab; InputStream flux; @@ -55,5 +99,5 @@ public class ResultatTxt { e.printStackTrace(); } return lp; - } + }*/ } \ No newline at end of file diff --git a/code/src/model/Score.java b/code/src/model/Score.java index b0a11cb..b9ea9ac 100644 --- a/code/src/model/Score.java +++ b/code/src/model/Score.java @@ -12,4 +12,15 @@ public class Score { this.level = level; this.date = date; } + + public int getLevel() { + return level; + } + + public int getScore() { + return score; + } + public String getDate() { + return date; + } }