Créer un jeu
Résolu
Hamster18
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaye de réaliser un jeu cependant j'ai un problème. Dans le jeu que j'essaye de crée il y a 22 cartes différentes, quand un joueur pioche des cartes, les cartes piocher ne peuvent pas être piocher par le joueur adverse (normalement) , or c'est ce que je fait ...
Je pensais alors faire que dès que une carte est pioché la supprimé du jeu mais mon code provoque l'erreur : "java.lang.reflect.InvocationTargetException<4 internals calls"
Mon code est
Merci d'avance pour vos réponses.
Cordialement.
J'essaye de réaliser un jeu cependant j'ai un problème. Dans le jeu que j'essaye de crée il y a 22 cartes différentes, quand un joueur pioche des cartes, les cartes piocher ne peuvent pas être piocher par le joueur adverse (normalement) , or c'est ce que je fait ...
Je pensais alors faire que dès que une carte est pioché la supprimé du jeu mais mon code provoque l'erreur : "java.lang.reflect.InvocationTargetException<4 internals calls"
Mon code est
public class Jeu { private List<Carte> jeu = FXCollections.observableArrayList(); 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); } /* Iterator<E> it = c.iterator() ; while(it.hasNext()){ E o = it.next(); */ public List<Carte> doRandom(int nb_carte) { Jeu jeu1 = new Jeu(); Jeu jeu2 = new Jeu(); jeu1.melangerJeu(); jeu1.jeu = jeu1.jeu.subList(0, nb_carte); Iterator<Carte> itJeu1 = jeu1.jeu.iterator(); while (itJeu1.hasNext()) { Iterator<Carte> itJeu2 = jeu2.jeu.iterator(); while (itJeu2.hasNext()) { if (itJeu1.next().getValeur() == itJeu2.next().getValeur()) { jeu2.jeu.remove(itJeu2.next()); } } } return jeu1.jeu; } }
Merci d'avance pour vos réponses.
Cordialement.
A voir également:
- Créer un jeu
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
1 réponse
Bonjour,
Tu devrais éviter de manipuler directement du code graphique (Java FX) dans le mécanisme de ton jeu.
Il faudrait avoir le jeu d'une part, son affichage d'autre part.
Tu peux par exemple considérer cette méthode :
Tu devrais éviter de manipuler directement du code graphique (Java FX) dans le mécanisme de ton jeu.
Il faudrait avoir le jeu d'une part, son affichage d'autre part.
Tu peux par exemple considérer cette méthode :
public static List<List<Integer>> distributionCartes(int nbCartes, int nbJoueurs) { List<Integer> cartes = new ArrayList<>(nbCartes); for (int i = 0; i < nbCartes; i++) { cartes.add(i); } Collections.shuffle(cartes); List<List<Integer>> result = new ArrayList<>(nbJoueurs); for (int i = 0, n = nbCartes / nbJoueurs + 1; i < nbJoueurs; i++) { result.add(new ArrayList<>(n)); } for (int i = 0; i < nbCartes; i++) { result.get(i % nbJoueurs).add(cartes.get(i)); } return result; } public static void main(String[] args) { System.out.println(distributionCartes(22, 2)); }
Hamster18
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
Merci KX j'ai réussi grâce à toi !!