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 :

Jeu de pion en java


Sujet :

avec Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut Jeu de pion en java
    je suis débutante en java et j'ai cet exercice, qui est le jeu de pion ,
    en fait j'ai essayer mais j'ai un petit problème dans cette question:

    On désire que les pions des jeux de type Puissance 4 soient capables de descendre dans
    la grille jusqu'à rencontrer un obstacle ou se trouver en bas de la grille. Donnez le code
    (classes, méthodes) permettant à ces pions de descendre.

    pour ce fait j'ai utiliser la méthode deplacerVertical(); et voila la question de construction de cette méthode:

    Dans la classe Pion et la classe JeuDePion donnez le code de méthode permettant
    de déplacer un pion de sa position vers un autre endroit. (on peut ajouter
    les méthodes auxiliaires dont on a besoin). Une position sera donnée sous la forme de
    deux arguments c et r, correspondant aux indices de colonne et de ligne dans la grille.

    si vous pouvez m'aider je serez trés contente s'ils vous plais...
    a la fin de la page j'ai mit tout l'énoncé de l'exercice.
    et mon code.
    merci d'avance.

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    public class JeuDePion {
    Pion[][]grille;
    Pion P;
    public JeuDePion(int L,int C) {
    grille=new Pion[L][C];
    }
    boolean estOccupe(int L, int C){
    if(grille[L][C]!=null)
    return true;
    else
    return false;
    }
     
    boolean poserPion(int L, int C){
    P=new Pion(2,1,2);
    grille[L][C] = P;
    return true;
    }
     
     
    boolean supprimerPion(int L, int C){
    grille[L][C] = null;
    return true;
    }
    boolean deplacerPionVertical(){
    int L;
    int C;
    while(grille[L][C+1]==null){
    grille[L][C+1]=grille[L][C];
    grille[L][C]=null;
    }
    return true;
    }
     
     
     
    }
     
    class Pion{
    int i,j,c;
    public Pion(int i, int j, int c){
    this.i=i;
    this.j=j;
    this.c=c;
    }
     
    }
    class Puissance4 extends JeuDePion{
    public Puissance4(int L, int C){
    super(L,C);
    }
    public boolean poserPion(int L, int C){
    super.poserPion(L,C);
    super.deplacerPionVertical();
    return true;
    }
     
    public static void main(String[]args){
     
    Puissance4 P4=new Puissance4(7,7);
    P4.poserPion(2,2);
     
     
     
    }
     
    }

  2. #2
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    bonjour,

    alors je n'ai pas lu ton code (n'oublie pas les balises codes s'il te plait) ni l'énoncé complet mais pour matérialiser une grille de jeu, c'est toujours le même principe: tableau à deux dimensions

    donc par ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    +-----+-----+-----+...
    |   1   |    2   |
    |       |        |
    +-----+-----+-----+...
    En 1 t'affiches la case 1,1 de ton tableau, en 2 la case (1,2) etc.

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut
    Citation Envoyé par Tux++ Voir le message
    bonjour,

    alors je n'ai pas lu ton code (n'oublie pas les balises codes s'il te plait) ni l'énoncé complet
    merci pour ta repense.
    donc voila l'énoncé de l'exercice.

    Exercice 3 : Conception de programme


    voila mon code y inclue les méthode qui manque:

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
     
    public class JeuDePion {
      Pion[][]grille;
     Pion P;
        public JeuDePion(int L,int C) {
        grille=new Pion[L][C];
        }
       boolean estOccupe(int L, int C){
        if(grille[L][C]!=null)
        	return true;
        	else 
        		return false;
    }
     
    boolean poserPion(int L, int C){
    	P=new Pion(2,1,2);
        grille[L][C] = P;
                return true;
    }
     
     
    boolean supprimerPion(int L, int C){
    	    grille[L][C] = null;
       return true;
    }
    boolean deplacerPion(){
    	.......//déplacer un pion de sa position vers un autre endroit.
    }
     
    }
    class Pion{
    	 int i,j,c;
    	public Pion(int i, int j, int c){
    		this.i=i;
    		this.j=j;
    		this.c=c;
    	}
     
    }
    class Puissance4 extends JeuDePion{
    	public Puissance4(int L, int C){
    		super(L,C);
    	}
    	public boolean poserPion(int L, int C){
    		....../* lorsque je pose un pion il doit descendre dans
    la grille jusqu'à rencontrer un obstacle ou se trouver en bas de la grille. */
    }
     
    boolean chercherAlignement(int n, int d){....
    .....
    /* qui cherche s'il existe un alignement de n pions
     dans une direction donnée à partir du pion en question.
     Les directions sont: 1, horizontale vers la gauche; 2, 
    horizontale vers la droite; 3, 
    verticale vers le haut; 4, diagonale haut gauche; 
    5 diagonale haut droit.*/
    }
     
     
    boolean chercherTousAlignements(){
     
    ....../* qui retourne vrai s'il existe un
    alignement de 4 pions dans une direction quelconque à partir de ce pion et faux autrement.*/
    }
    public static void main(String[]args){
    	Puissance4 P4=new Puissance4(7,7);
    	P4.poserPion(2,2);
    	System.out.println(P4.estOccupe(2,3));
     
     
    }
     
    }
    merci d'avance

  4. #4
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Bonjour,

    sans répéter ce qui est dit dans les règles du forum, on n'est pas là pour faire des exercices.

    Si tu veux avoir des réponses, il faut absolument que tu poses une question. Tu n'y arrives pas, soit, mais dans ce cas dis nous sur quoi tu bloques. Montre nous ce que tu as fait et décrit ce qui ne marche pas, les messages d'erreurs que tu as ...

    Bref, présente nous ton problème clairement et on sera ravi de t'aider

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut DSL
    Citation Envoyé par in Voir le message
    Bonjour,

    sans répéter ce qui est dit dans les règles du forum, on n'est pas là pour faire des exercices.

    Si tu veux avoir des réponses, il faut absolument que tu poses une question. Tu n'y arrives pas, soit, mais dans ce cas dis nous sur quoi tu bloques. Montre nous ce que tu as fait et décrit ce qui ne marche pas, les messages d'erreurs que tu as ...

    Bref, présente nous ton problème clairement et on sera ravi de t'aider
    j'ai essayer de faire la méthode DeplacerPion() de la class JeuDePion comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    boolean deplacerPionVertical(int L, int C){
    while(grille[L][C+1]==null){
    		grille[L][C+1]=grille[L][C];
    	   			grille[L][C]=null;
    }
    return true;
    }
    et aussi j'ai utiliser cette méthode dans la classe Puissance4 pour faire déplacer un pion verticalement dans la grille d'une position donnée j'usqu'a ce que ce pion trouve un autre pion ou bien arrive a la fin de la grille...
    voila le code de cette méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public boolean poserPion(int L, int C){
    		super.poserPion(L,C);
    		super.deplacerPionVertical(L,C);
    		return true;
    }
    le problème c'est que le pion dans ce cas ce déplace tjrs d'une seul case c'est a dire lorsque je met le pion a la position 2,2 il doit ce déplacer a la position 2,6 pour un tableau de dimension 7,7 alors que le pion ce déplace juste a la position 2,3
    et se dessus j'ai mit la totalité du code merci "IN"
    merci pour votre aide.

  6. #6
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par Syklops Voir le message
    j'ai essayer de faire la méthode DeplacerPion() de la class JeuDePion comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    boolean deplacerPionVertical(int L, int C){
    while(grille[L][C+1]==null){
    		grille[L][C+1]=grille[L][C];
    	   			grille[L][C]=null;
    }
    return true;
    }
    Je suppose que cette méthode consiste à "déplacer un pion de sa position vers un autre endroit". donc déjà je suppose que tu as besoin des coordonnées du pion à déplacer ainsi que l'endroit où tu veux le mettre ?

    La signature sera plutôt quelque chose comme:

    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
     
    /**
     * @param coordY la coordonnée Y du pion à déplacer
     * @param coordX la coordonnée X du pion à déplacer
     * @param newY la ligne où déplacer le pion
     * @param newX la colonne où déplacer le pion
     * @return true si le déplacement a été effectué
     */
    boolean deplacerPion(int coordY, int coordX, int newY, int new X){
       // déjà il faut voir si tu trouves le pion à déplacer
       // ensuite voir si la place désirée est disponible
       // si c'est bon, tu enlèves le pion et tu le mets au bon endroit
       // il faut également mettre à jour les coordonnées du pion (?)
       // d'ailleurs, si un pion stocke ses coordonnées lui-même, c'est peut être
       // dans pion qu'il faudra déclarer certaine méthodes ... à toi de voir :?
       // et retourner true ou false
    }
    Bref, je pense que tu devrais reprendre calmement ton énoncé est commencer par écrire déjà les signatures des méthodes dont tu va avoir besoin. a mon avis tu as d'autres méthodes qui sont "mal formulées".

    ensuite, tu dois a priori être capable de gérer plusieurs types de jeux. Il va donc falloir que tu penses à utiliser le polymorphisme et créer des interfaces ou des classes abstraites.

    enfin, n'hésite pas à utiliser des petites méthodes utilitaires pour simplifier ton code, genre placeLibre(x,y), getPion(x,y) ...

    bon courage !

  7. #7
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut
    Citation Envoyé par in Voir le message
    Je suppose que cette méthode consiste à "déplacer un pion de sa position vers un autre endroit". donc déjà je suppose que tu as besoin des coordonnées du pion à déplacer ainsi que l'endroit où tu veux le mettre ?

    La signature sera plutôt quelque chose comme:

    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
     
    /**
     * @param coordY la coordonnée Y du pion à déplacer
     * @param coordX la coordonnée X du pion à déplacer
     * @param newY la ligne où déplacer le pion
     * @param newX la colonne où déplacer le pion
     * @return true si le déplacement a été effectué
     */
    boolean deplacerPion(int coordY, int coordX, int newY, int new X){
       // déjà il faut voir si tu trouves le pion à déplacer
       // ensuite voir si la place désirée est disponible
       // si c'est bon, tu enlèves le pion et tu le mets au bon endroit
       // il faut également mettre à jour les coordonnées du pion (?)
       // d'ailleurs, si un pion stocke ses coordonnées lui-même, c'est peut être
       // dans pion qu'il faudra déclarer certaine méthodes ... à toi de voir :?
       // et retourner true ou false
    }
    Bref, je pense que tu devrais reprendre calmement ton énoncé est commencer par écrire déjà les signatures des méthodes dont tu va avoir besoin. a mon avis tu as d'autres méthodes qui sont "mal formulées".

    ensuite, tu dois a priori être capable de gérer plusieurs types de jeux. Il va donc falloir que tu penses à utiliser le polymorphisme et créer des interfaces ou des classes abstraites.

    enfin, n'hésite pas à utiliser des petites méthodes utilitaires pour simplifier ton code, genre placeLibre(x,y), getPion(x,y) ...

    bon courage !
    merci in pour ta réponse

Discussions similaires

  1. Jeu de Go en Java
    Par Grand sorcier dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 06/04/2007, 13h21
  2. Développement d'un jeu de poker en java.
    Par SmileAndFly dans le forum Développement 2D, 3D et Jeux
    Réponses: 15
    Dernier message: 02/04/2007, 20h02
  3. Jeu de gestion en java
    Par luckyvae dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 27/08/2006, 18h19
  4. Réponses: 4
    Dernier message: 13/02/2006, 21h58

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