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

 Java Discussion :

Jeu d'échecs en 2D


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut Jeu d'échecs en 2D
    Bonjour !




    Je souhaite développer un jeu d'échec en 2D.
    Sauf que dans le cadre de mes études on n'a jamais manipulé d'interfaces graphiques (on a fait que des programmes avec une représentation en console des plateaux de jeux)...


    Dans le cadre d'un jeu d'échec, pour tout ce qui concerne les événements liés au déplacement d'une pièce j'ai trouvé ce tutoriel sur le site :

    http://duj.developpez.com/tutoriels/java/dessin/intro/


    Mais pour la grille, j'ai vu beaucoup de choses différentes sur Internet et j'avoue que je suis un peu perdu


    Donc j'ai quelques questions :

    - Pour dessiner la grille du plateau de jeu, il faudrait dessiner des rectangles et des lignes, puis les "mettre" dans un composant "GridLayout" ?

    - Comment dessiner / ajouter les images des pièces dans le GridLayout ?


    Merci de votre aide !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    tu peux procéder de plusieurs manières :

    - soit faire un composant graphique unique (un JPanel par exemple) qui dessine un échiquier et les pièces , et sur lequel du met en place une détection d'evenement souris qui te permet de connaitre la case sélectionnée, la pièce sélectionnée : cette solution permet en outre de pouvoir faire facilement des animations (déplacer les pièces de case en case)
    - soit utiliser un composant graphique par case, disposés dans un autre composant, et agencés par un GridLayout par exemple, ou autre,


    tu trouveras peut etre des idées sur ce thread : http://www.developpez.net/forums/d13...quier-en-java/
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Plop,

    Pour dessiner la grille du plateau de jeu, il faudrait dessiner des rectangles et des lignes, puis les "mettre" dans un composant "GridLayout" ?
    Pas besoin de les mettre. Tu peux créér un JPanel representant le plateau entier et redéfinir la méthode paintComponent pour afficher le plateau comme il faut.

    Une autre solution serait de créer un JPanel par case, permettant de réduire le code entre le plateau entier, et chacune des cases.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comment dessiner / ajouter les images des pièces dans le GridLayout ?
    Le layout permet de placer des composants Java (JTextField ...) et non de dessiner.

    Une façon d'ajouter une image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ImageIcon image = new ImageIcon("image/pic1.jpg");
    JLabel label = new JLabel("", image, JLabel.CENTER);
    JPanel panel = new JPanel(new BorderLayout());
    panel.add( label, BorderLayout.CENTER );

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 407
    Par défaut
    Au risque de perdre un peu de temps au départ je te conseille de regarder le composant Canvas, (qui peu se lier a une JFrame).

    Et regarder ce qu'est une boucle de jeu (un gros while qui se charge rafraîchir l'affichage un intervalles réguliers)
    Ca peu paraître "overkill" mais si tu veux pouvoir animer ton jeu ou faire quelques effet graphiques c'est la solution.

    Malheureusement (ou heureusement ) on ne programme pas les jeux comme les applications de bureau. Si tu a quelques notions d'anglais tu a des base ici :
    Killer Game Programming in Java

    Enfin si tu cherche a aller vite tu peu regarder du coter de mon "jeu de la mouette" qui est peu élégant (c'est un euphémisme) mais simple (~250 lignes MainWin.java et TimeLine.java)

Discussions similaires

  1. Projet Jeu d'échec
    Par Layla dans le forum Langage
    Réponses: 10
    Dernier message: 23/12/2010, 13h06
  2. [IA] jeu d'échec
    Par Leinhardt dans le forum Intelligence artificielle
    Réponses: 7
    Dernier message: 01/04/2008, 21h33
  3. L'empereur de Chine et le jeu d'échecs
    Par momo1367 dans le forum Pascal
    Réponses: 1
    Dernier message: 04/01/2008, 02h08
  4. Serveur de jeu d'échec en PHP
    Par S_Xavier dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2007, 15h02
  5. Jeu d'échec borland soap
    Par rpoulin dans le forum Web & réseau
    Réponses: 2
    Dernier message: 20/10/2005, 05h02

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