IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Création d'une table + tri


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut Création d'une table + tri
    Bonjour je dois faire un exo d'un jeux de carte.

    Quel est la solution la plus pratique pour

    - créer un jeux de 52 cartes et les triées

    j'avais penser de crée un tableau dynamique arrayliste ?
    - générer des cases de nombre de 2 à 14 (11 pour valet et 14 pour l'as) pour les charger
    - générer 4 fois ces même nombres (pour le pique, coeur,carreau et trèfle).

    puis les mélanger.
    merci de vos suggestions

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est pas mal.

    - Plutôt que numéroter de 2 à 14 je recommanderais un enum des valeurs possibles. Elles garderont quand même un ordre.
    - Même chose pour les couleurs, un enum.
    - Trier et mélanger sont deux actions opposées. C'est lequel que tu veux ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de la réponse,
    effectivement je me suis trompé de langage ,
    il faut que je charge + je tries.
    pour l'exo il ne faut pas s'occuper des couleurs.
    il faut essayer de faire au plus simple, donc je pense qu'il faut je je me passe de énum,
    car il n'a pas été vu dans le cours.

    j'ai essayer ceci les 13 cartes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
            ArrayList pioche = new ArrayList();
     
     
    //pour le trèfle
            for(int i=2; i < =14;i++)
            {
                pioche.add(i);
                System.out.println(i);
            }
    //pour le carreau
            for(int i=2; i < =14;i++)
            {
                pioche.add(i);
                System.out.println(i);
            }
    //pour le pique
            for(int i=2; i < =14;i++)
            {
                pioche.add(i);
                System.out.println(i);
            }
    //pour le dame
            for(int i=2; i < =14;i++)
            {
                pioche.add(i);
                System.out.println(i);
            }
     
           //mélanger l'array liste ...
    par contre il y a t'il comme PHP un moyen de voir à l'intérieur de la liste , comme la commande "var_dump" , je trouve ça plus pratique que de faire un
    System.out.println(i);

    pour l'exo je vais essayer de faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public void chargerPioche()
        {
            //les 4 types cartes on un indice P = pique, C=carreau,T=trèsfle,D=dame
     
     
            for(int i=2; i <= 14;i++)
            {
                pioche.add("P"+i);
                System.out.println(i);
            }
        }
    je vais charger dans le tableau le carte sous forme
    P2 pour le 2 de piques.

    par contre comment il faut faire pour arriver à charger P2 sous forme de chaine ?
    j'ai essayer de faire sous cette forme en castant le valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                pioche.add("P"+(String)i); //je charge la carte 2 de trèfle

    mais apparemment ça ne fonctionne pas ...

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par keokaz Voir le message
    il faut essayer de faire au plus simple, donc je pense qu'il faut je je me passe de énum,
    car il n'a pas été vu dans le cours.
    Ok. Dans ce cas, 2 à 14 pourquoi pas... Au moins la plus forte est associée au nombre le plus grand.

    Citation Envoyé par keokaz Voir le message
    j'ai essayer ceci les 13 cartes
    Oui enfin c'est quatre fois la même chose. Une boucle de 1 à 4 ne serait-elle pas plus pratique ?

    Citation Envoyé par keokaz Voir le message
    par contre il y a t'il comme PHP un moyen de voir à l'intérieur de la liste , comme la commande "var_dump" , je trouve ça plus pratique que de faire un
    System.out.println(i);
    Bah.... System.out.println(pioche); -_-°

    Citation Envoyé par keokaz Voir le message
    pour l'exo je vais essayer de faire ceci :
    Pour info la 4e couleur c'est Cœur, pas Dame. Du coup il y en a deux qui commencent par C.

    Citation Envoyé par keokaz Voir le message
    par contre comment il faut faire pour arriver à charger P2 sous forme de chaine ?
    "p"+2 marche ma foi très bien.
    L'opérateur + est toujours l'opérateur de concaténation quand l'un de ses opérandes est une chaîne. Et pour concaténer une chaîne et "autre chose," Java fait toujours une conversion implicite du "autre chose" en chaîne.

    Citation Envoyé par keokaz Voir le message
    j'ai essayer de faire sous cette forme en castant le valeur

    [...]

    mais apparemment ça ne fonctionne pas ...
    Effectivement, la conversion en String ne peut pas se faire avec un cast. Mais elle se fait implicitement avec une concaténation de toute manière, alors ce n'est pas gênant.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    Bah.... System.out.println(pioche); -_-°

    merci je n'avais pas penser à plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            this.chargerPioche();
            System.out.println("**** ma pioche contient ****");
            System.out.println(this.pioche);
    le résultat


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    **** ma pioche contient ****
    [P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    public class JeuDeBataille {
     
        ArrayList pioche = new ArrayList();
     
        public JeuDeBataille() {
            System.out.println("instance jeu de bataille");
     
            Joueur J1 = new Joueur(); //creation du joueur 1
            Joueur J2 = new Joueur(); //creation du joueur 2
            //Carte carte = new Carte();//creation de carte
            //DistribuerCarte();
            this.chargerPioche();
            System.out.println("**** ma pioche contient ****");
            System.out.println(this.pioche);
        }
     
        public void DistribuerCarte() {
            System.out.println("distribution de carte");
        }
     
        public void chargerPioche()
        {
            //les 4 types cartes on un indice P = pique, C=carreau,T=trèsfle,D=dame
     
     
            for(int i=2; i <= 14;i++)
            {
                pioche.add("P"+i);
     
            }
        }
     
     
     
    }
    maintenant il me reste à mélanger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package jeux;
     
    import java.util.ArrayList;
     
    public class JeuDeBataille {
     
        ArrayList pioche = new ArrayList();
     
        public JeuDeBataille() {
            System.out.println("instance jeu de bataille");
     
            Joueur J1 = new Joueur(); //creation du joueur 1
            Joueur J2 = new Joueur(); //creation du joueur 2
            //Carte carte = new Carte();//creation de carte
            //DistribuerCarte();
            this.chargerPioche("P");
            this.chargerPioche("C");
            this.chargerPioche("T");
            this.chargerPioche("S");
            System.out.println("**** ma pioche contient ****");
            System.out.println(this.pioche);
        }
     
        public void DistribuerCarte() {
            System.out.println("distribution de carte");
        }
     
        public void chargerPioche(String type)
        {
            //les 4 types cartes on un indice P = pique, C=carreau,T=trèsfle,D=dame
     
            for(int i=2; i <= 14;i++)
            {
                pioche.add(type+i);
     
            }
        }
     
    }

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Mélanger aléatoirement est loin d'être trivial... Il va falloir nous dire qu'est-ce que tu as le droit d'utiliser qui soit déjà fourni, pour le faire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/08/2014, 13h10
  2. Question sur la création d'une table
    Par air dans le forum Oracle
    Réponses: 4
    Dernier message: 23/10/2005, 12h46
  3. Réponses: 4
    Dernier message: 19/10/2005, 11h26
  4. Création d'une table avec foreign key
    Par lepierre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/09/2004, 14h20
  5. INTERBASE Création d'une table
    Par Corben dans le forum InterBase
    Réponses: 2
    Dernier message: 19/06/2004, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo