Créer un jeu de carte

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 26 nov. 2019 à 22:12
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 27 nov. 2019 à 18:03
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);
    }
A voir également:

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
26 nov. 2019 à 22:14
bonjour, peux-tu nous en dire plus à propos de cette erreur?
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
26 nov. 2019 à 22:16
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)
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
27 nov. 2019 à 18:03
J'ai réussi à résoudre mon problème toute seule !!!! Merci yg_be pour ton aide !!! =)
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
26 nov. 2019 à 23:13
Bonjour,

À toutes fins utiles pour ton jeu : Cartes à jouer
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
27 nov. 2019 à 07:31
D'accord merci
0