Créer un jeu de carte [Résolu]

Signaler
Messages postés
81
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
15 décembre 2019
-
Hamster18
Messages postés
81
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
15 décembre 2019
-
Bonjour, j'aimerais créer une application de jeu de carte cependant je suis bloquer sur la partie programmation en java. Je pense que mon erreur se trouve dans ma classe jeu cependant je ne comprend pas d’où elle vient ... Pourriez-vous m'aider s'il vous plait ?

Merci d'avance pour votre aide !


Tout d'abord j'ai créé une classe carte composer d'un nom (string) et une valeur (int).
Ensuite j'ai une classe jeu composée de 22 cartes et possédant 2 méthodes, l'une qui mélange le jeu et l'autre qui fait la distribution :

Classe jeu :


public class Jeu {
    public ObservableList<Carte> jeu = FXCollections.observableArrayList();
    private Carte carte;

    public Jeu() {
        jeu.add(new Carte("1", 1));
        jeu.add(new Carte("2", 2));
        jeu.add(new Carte("3", 3));
        jeu.add(new Carte("4", 4));
        jeu.add(new Carte("5", 5));
        jeu.add(new Carte("6", 6));
        jeu.add(new Carte("7", 7));
        jeu.add(new Carte("8", 8));
        jeu.add(new Carte("9", 9));
        jeu.add(new Carte("10", 10));
        jeu.add(new Carte("11", 11));
        jeu.add(new Carte("12", 12));
        jeu.add(new Carte("13", 13));
        jeu.add(new Carte("14", 14));
        jeu.add(new Carte("14", 15));
        jeu.add(new Carte("16", 16));
        jeu.add(new Carte("17", 17));
        jeu.add(new Carte("18", 18));
        jeu.add(new Carte("19", 19));
        jeu.add(new Carte("20", 20));
        jeu.add(new Carte("21", 21));
        jeu.add(new Carte("22", 22));
    }

    public void melangerJeu() {
        Collections.shuffle(jeu);
    }


    public List<Carte> doRandom(int nb_carte) {
        Jeu jeu = new Jeu();
        jeu.melangerJeu();
        return jeu.jeu.subList(0, nb_carte);
    }
}


J'ai ensuite une classe manche :


public class Manche {
    private Integer previsionJoueur;
    private Integer previsionAdverse;
    private Integer nbPartieGagneeJoueur;
    private Integer nbPartieGagneeAdverse;
    private boolean malusAdverse;
    private boolean malusJoueur;

    public Manche(){}

    public Manche(int nb_carte){
        List<Carte> carteList = distribuer(nb_carte);
    }

    public List<Carte> distribuer (int nb_carte){
        Jeu jeu = new Jeu();
        return  jeu.doRandom(nb_carte);
    }
}


Un manageur qui reprend la méthode distribuer :

public class Manageur {
    public List<Carte> distribuer (int nb_carte){
        Manche manche = new Manche();
        return manche.distribuer(nb_carte);
    }
}



et pour terminer j'appelle la méthode distribuer dans le code de ma vue :

    @FXML
    private HBox listDeCarte;
    ObservableList<Carte> listCarte = FXCollections.observableArrayList();

    Manageur manageur = new Manageur();

    public void initialize(){
        listCarte= (ObservableList<Carte>) manageur.distribuer(1);
        listDeCarte.getChildren().addAll(listCarte);
    }

6 réponses

Messages postés
9118
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 décembre 2019
468
bonjour, peux-tu nous en dire plus à propos de cette erreur?
Hamster18
Messages postés
81
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
15 décembre 2019

Voici l'erreur exacte :
Caused by: java.lang.ClassCastException: class javafx.collections.ModifiableObservableListBase$SubObservableList cannot be cast to class javafx.collections.ObservableList (javafx.collections.ModifiableObservableListBase$SubObservableList and javafx.collections.ObservableList are in module javafx.base of loader 'app')
at view.Prevision.initialize(Prevision.java:38)
Hamster18
Messages postés
81
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
15 décembre 2019

J'ai réussi à résoudre mon problème toute seule !!!! Merci yg_be pour ton aide !!! =)
Messages postés
16094
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 décembre 2019
2475
Bonjour,

À toutes fins utiles pour ton jeu : Cartes à jouer
Hamster18
Messages postés
81
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
15 décembre 2019

D'accord merci