You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

403 lines
15 KiB

package controller;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
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;
public class TopPlayerController implements Initializable {
@FXML
private AnchorPane levelRoot;
@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;
/**
* Initializes the controller class.
* @param url
* @param resourceBundle
*/
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
initialisationTexte();
afficherRésultat();
}
/**
* Method to initialize the text
*/
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);
}
/**
* Method to display the result
*/
public void afficherRésultat(){
ResultatTxt resultatTxt = new ResultatTxt();
ListeScore listeScore = new ListeScore();
ArrayList<Score> 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<Integer, String> 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<Integer, String> 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);
}
}
/**
* Méthod to return to the menu
* @param event
* @throws Exception
*/
@FXML
void returnToMenu(MouseEvent event) throws Exception{
AnchorPane pane = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/MainPage.fxml")));
levelRoot.getChildren().setAll(pane);
}
}