Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1644 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JAVA - Distribution d'un paquet de carte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JAVA - Distribution d'un paquet de carte

n°2269228
jumpin
Posté le 07-11-2015 à 13:06:10  profilanswer
 

Salut les Hardwarien !  :p  
 
J'ai pour tâche de développer un genre de jeu de carte en Java. Là où je bloque c'est dans la distribution des cartes aux nbJoueur joueurs. Je m'explique, je possède :
 
- un Integer nbJoueur : contenant le nombre de joueur par exemple 3
- un Integer nbCarte : contenant le nombre de carte par exemple 6
- une arrayList paquet : contenant la liste de toutes les cartes dans un ordre aléatoire par exemple {5;3;1;2;4;6}
 
1. Pour distribuer les cartes de l'arrayList paquet, il faut d'abord créer le paquet de carte pour chaque joueur (dans une arraylist je suppose?). Donc Arraylit Joueur1, ArrayList Joueur 2 ... Jusqu'à ArrayList Joueur nbJoueur.
 
Seulement, je ne vois pas comment créer automatiquement des Arraylist de Joueur 1 jusqu'à Joueur nbJoueur.  :ouch:  
 
2. Une fois les ArrayList créé, comment distribuer les cartes de l'arraylist paquet vers les arraylist Joueur 1, Joueur 2 => Joueur nbJoueur?  :pt1cable:  
 
Voici mon code pour les courageux. On ne s'occupe que de la méthode "distribution" :
 
 

Citation :


package JeuDeCarte;
 
import java.util.*;
 
public class GestionJeuDeCarte  
{
 public static void main(String[] args)  
 {
  JeuDeCarte jdc = new JeuDeCarte();
  jdc.creationPaquetDeCarte();
  jdc.distribution();
   
 }
}
 
 
 
class JeuDeCarte
{
 int nbJoueur;
 int nbCarte;
 int[] paquet;
 
 public void creationPaquetDeCarte()            //Declaration de la fonction de creation de paquet de carte
 {
  Scanner scannbCarte = new Scanner(System.in);           //Instanciation des scanners
  Scanner scannbJoueur = new Scanner(System.in);
   
  System.out.println("Bonjour, combien y a t-il de joueur?" );
  int nbJoueur = scannbJoueur.nextInt();              //Associe la valeur rentree par l'utilisateur dans l'entier nbJoueur
   
  while (0 < nbJoueur && nbJoueur > 11)              //Boucle qui redemande de rentrer le nombre de joueur si le nombre rentre n'est pas compris entre 0 et 10
  {
   System.out.println("Entree incorrecte ... Merci de renseigner un nombre de joueurs compris entre 1 et 10:" );
   nbJoueur = scannbJoueur.nextInt();              //Associe la nouvelle valeur rentree par l'utilisateur dans l'entier nbJoueur
  }
   
  System.out.println("Merci, combien y a t-il de cartes dans votre paquet?" );
  nbCarte = scannbCarte.nextInt();               //Associe la valeur rentree par l'utilisateur dans l'entier nbCarte
   
  while (0 < nbCarte && nbCarte > 101)             //Boucle qui redemande de rentrer le nombre de joueur si le nombre rentre n'est pas compris entre 0 et 100
  {
   System.out.println("Entree incorrecte ... Merci de renseigner un nombre de cartes compris entre 1 et 100:" );
   nbCarte = scannbCarte.nextInt();              //Associe la nouvelle valeur rentree par l'utilisateur dans l'entier nbCarte
  }
   
  while (nbCarte % nbJoueur != 0)               //Boucle qui indique que le reste de la division de nbCarte par nbJoueur doit etre nul pour que les deux valeurs soient des multiples entre eux
  {
   System.out.println("Le nombre de carte n'est pas un multiple du nombre de joueur, merci de saisir un nouveau nombre de carte :" );
   nbCarte = scannbCarte.nextInt();
  }
     
  System.out.println("La partie commence avec " + nbCarte + " cartes, et " + nbJoueur + " joueurs. C'est parti !" );
   
  scannbCarte.close();
  scannbJoueur.close();
 }
 
 public void distribution()
 {
   
  ArrayList <Integer> paquet = new ArrayList <Integer> (nbCarte);       //Creation du paquet de carte dans une arraylist
 
  int length = 0;  
 
   while (length < nbCarte)                //Melange des cartes de maniere aleatoire
   {
    int n = (int) (Math.random() * nbCarte);
    if (!paquet.contains(n))
    {
     paquet.add(n);
     length += 1;
    }
   }
   
   for (int i=0; i < nbCarte; i++)
   {
    System.out.println("Le paquet est melange ! Voici les valeurs dans l'ordre : " + paquet.get(i)); //Affiche la liste des cartes melangees
   }
 
 }
}
 


Message édité par jumpin le 07-11-2015 à 13:16:26
mood
Publicité
Posté le 07-11-2015 à 13:06:10  profilanswer
 

n°2269229
Nikora
Posté le 07-11-2015 à 13:08:55  profilanswer
 

Trompé de catégorie :D

n°2269230
jumpin
Posté le 07-11-2015 à 13:15:36  profilanswer
 

Oups c'est dans quelle catégorie ? :)

n°2269231
leo9810
Inspecteur auxiliaire Farge
Posté le 07-11-2015 à 13:18:47  profilanswer
 
n°2269232
djalex
Ancien Modérateur
Posté le 07-11-2015 à 13:47:13  profilanswer
 

Ce sujet a été déplacé de la catégorie Achats & Ventes vers la categorie Programmation par Djalex


---------------
------------------------------------------

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JAVA - Distribution d'un paquet de carte

 

Sujets relatifs
JAVA - Distribution d'un jeu de carteBesoin d'aide pour programme sous Java's Cool !
Appel concurent de procedure stocké oracle dans mon programme java[java] cherche aide sur getters setters
simulation d'un systeme d'exploitation en java[java]comment compter les cases identique d'un tableau ?
Java map vers Javascript map ?Recherche développeur FullStack Java/AngularJs
Plus de sujets relatifs à : JAVA - Distribution d'un paquet de carte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR