Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

piranha, missiontomars99 Matériel : tiopai Achat - Vente Informatique : shenzo95 Au coin de la ruelle : the Grim Reaper et 12 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

jeu domino java avec rmi interface

 
n°18562
manfalom
Profil : Jeune recrue
Posté le 14-05-2007 à 20:08:13  profilanswer
 

Bonjour,
 
Je suis entrainde developper un jeu de domino de 28 pions. je bloque sur l'interface. Merci de m'aider avec un bout de code qui permet de choisir 7 pions parmi 28 pour chaque joueur (max 4 joueur) aleatoirement.
 
j'ai pensé à une grile mais je crains que ça ne va pas etre interactive pour déplacer les pions et le mettre dans les cases de la grille.
 
Deux idées qui me tente :
1- grille avec l'objet Case de java
2 grille avec les cases sous forme de button
 
J'ai pensé a la deuxème solution pour une fois déplacer un pion, il suffit juste de changer le motif (icon) de la case.
 
je veux changer la liste des pion a gauche et les mettre dans une grille en bas ? sous forme de liste je trouve que c'est null :-(
 
Au secours merci de m'aider:
 
interface avec grille :
http://images0.hiboox.com/vignettes/2007/38bwtxs2.jpg
 
Classe VueGrille :
package IHM;
 
import java.awt.Canvas;
import java.awt.Graphics;
 
 
class VueGrille extends Canvas{
 private static final long serialVersionUID = -5149989339205840612L;
 private int nbCasesX,nbCasesY;
    private Case[][] grille;
 
    public VueGrille(int nbCasesX,int nbCasesY,int largeurCase){  
     super();
     this.nbCasesX=nbCasesX;
     this.nbCasesY=nbCasesY;
        grille=new Case[nbCasesX][nbCasesY];
        setSize(nbCasesX,nbCasesY);  
        for(int x=0;x<nbCasesX;x++){
            for(int y=0;y<nbCasesY;y++){        
             grille[x][y]=new Case(x,y,largeurCase);
            }
        }
    }
 
    public void paint(Graphics g) {
     for(int x=0;x<nbCasesX;x++){
            for(int y=0;y<nbCasesY;y++){
                grille[x][y].paint(g);
            }
        }
    }
     
}
 
Classe de l'interface :
package IHM;
 
import java.awt.*;
import java.awt.event.*;
import java.rmi.*;
 
//import java.awt.event.*;
import javax.swing.*;
public class FenetreJeu extends JFrame implements WindowListener, ActionListener{
 private static final long serialVersionUID=-4653333660666146303L;
 private VueGrille grille;
 private JPanel gauche, pd;
 JLabel [] pions=new JLabel[7];
 private JButton B1 = new JButton("Passer" );
 private JTextArea InfosJoueurs,InfosPartie;
 private JList jList;
 JScrollPane jScrollPane;
 private Box userNameBox = Box.createHorizontalBox();
 
   public FenetreJeu(final ImageIcon[] listeDominos){
 //public FenetreJeu(final JButton[] listeDominos){
     super("Jeu DOMINO" );
     getContentPane().setLayout(null);
     getContentPane().setBackground(new Color(176,219,244));
     
  gauche=new JPanel();
  pd=new JPanel();
   
  InfosPartie=new JTextArea(" Dernier coup :\n domino(2,5)" );
  InfosPartie.setEnabled(false);
  gauche.add(InfosPartie);
  InfosJoueurs=new JTextArea("Aucun joueur" );  
  /* David : 5 dominos\n"+" >Madiha : 3 dominos\n"+" Kévin : 3 dominos\n"+
  " Sophie : 4 dominos\n"+" Pioche : 5 dominos */
  InfosJoueurs.setEnabled(false);  
  gauche.add(InfosJoueurs);
  gauche.add(B1);
  gauche.add(new JButton("Piocher" ));
  gauche.add(new JButton("Actualiser" ));
  gauche.setBackground(new Color(255,231,29));
  gauche.setBounds(0,0,130,600);
  getContentPane().add(gauche);      
  grille= new VueGrille(20,20,30);
  grille.setBounds(133,1,520,520);
  getContentPane().add(grille);
  //pd.setPreferredSize(new Dimension(,500));
  //pd.add(pions[0]=new JLabel(new ImageIcon("1_1.gif" )));
  //pd.setBounds(0,520,700,700);
  getContentPane().add(pd);
  //setSize(660,590);
  setSize(600,600);
  //
   
   
/***********************Liste des dominos***********************************************/  
  userNameBox.setBorder(BorderFactory.createTitledBorder("Vos Dominos :" ));
   
  jList = new JList(listeDominos);
  jList.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
//                String name = null;
//                if (listeDominos.length > 0)
//                    if (e.getClickCount() == 2) {
//                        name = (String) jList.getModel().getElementAt(jList.
//                                locationToIndex(e.getPoint()));
                        //ici traitement correspondant à la selection d'un domino
                    //}
            }
        }
        );
  jScrollPane = new JScrollPane(jList);
        //gauche.setLayout(new GridLayout(4, 1));
        userNameBox.add(jScrollPane);
        gauche.add(userNameBox);
        jScrollPane.setPreferredSize(new Dimension(85, 100));
     setLocationRelativeTo(this.getParent());
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setResizable(false);
  setVisible(true);
     }
   
     
//  *******************GESTION DES ACTIONS SOURIS, FENETRE, MENU DEROULANT*******************
//  ****************************Méthode actionPerformed**************************************
    /** Méthode définissant les actions sur le menu déroulant.
    /*******
// ACHANGER LES NOM DES METHDES
//    Gestion des évènements des contrôles de la fenêtre
    public void actionPerformed(ActionEvent evt)
    {
//    Si le joueur clique sur le menu "Nouvelle Partie", on relance le jeu
    if(evt.getActionCommand().equals("Nouvelle Partie" )){
        try{
            damierDistant.nouvellePartie();
        }
        catch (Exception e){
            System.out.println("Un probleme est survenue lors de l'appel du serveur 1 : " + e);
        }
    }
//    Si le joueur clique sur le menu "Annuler Dernière Action"
    if(evt.getActionCommand().equals("Annuler Action" ))
    {
        if (monType != damierGraphique.getAQui())
        {
            try{
                damierDistant.annulerDeplacement();
                musique.Jouer("./son/Halliday.au" );
            }
            catch (Exception e){
                System.out.println("Un probleme est survenue lors de l'appel du serveur 2 : " + e);
            }
        }
    }
//    Si le joueur clique sur le menu "Quitter", on quitte le jeu
    if(evt.getActionCommand().equals("Quitter" )){
        try{    
            damierDistant.deconnecterClients(this);
        }
        catch (Exception e){
            System.out.println("Un probleme est survenue lors de l'appel du serveur 3 : " + e);
        }
        System.exit(0);
    }
    }//Fin de la méthode actionPerformed
  ****/
         
  public static void main(String[] args){
   ImageIcon main[]= {new ImageIcon("1_1.gif" ),new ImageIcon("1_2.gif" ),new ImageIcon("1_3.gif" ),new ImageIcon("1_4.gif" )};
   //JButton bouton11 = new JButton();
   //bouton11.setIcon(new ImageIcon("1_1.gif" ));
   //JButton bouton12 = new JButton(new ImageIcon("1_2.gif" ));
   //JButton bouton13 = new JButton(new ImageIcon("1_3.gif" ));
   //JButton bouton14 = new JButton(new ImageIcon("1_4.gif" ));
   //JButton main[]= {bouton11,bouton12,bouton13,bouton14};
   
   
   FenetreJeu f1 = new FenetreJeu(main);
   
   //MENU
   MenuBar menuJeu = new MenuBar();
   Menu outils = new Menu("Outils" );
      menuJeu.add(outils);
      MenuItem newPartie = new MenuItem("Nouvelle Partie" );
      outils.add(newPartie);
      //newPartie.addActionListener(this);
      MenuItem annuler = new MenuItem("Annuler Action" );
      outils.add(annuler);
      //annuler.addActionListener(this);
      MenuItem quitter = new MenuItem("Quitter" );
      outils.add(quitter);
      //quitter.addActionListener(this);
   f1.setMenuBar(menuJeu);
  f1.isVisible();
   
 }
 }
   
 
Merci pour votre aide
 


Aller à :
Ajouter une réponse