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 :

Interface graphique pour un puissance 4


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    élève ingénieur
    Inscrit en
    Juillet 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Koweït

    Informations professionnelles :
    Activité : élève ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Interface graphique pour un puissance 4
    Bonsoir à tous,

    Voilà depuis plusieurs semaines je me suis lancé un pari c'est me faire un jeu en java. J'ai choisi le jeu puissance 4 car cela semblait simple ^^

    Bref mon jeu fonctionne avec une bonne interface graphique grâce je le concède à des potes étant en école d'informatique. J'ai bien évidemment eu des cours d'informatiques en java. Mais le problème étant triple diplomant j'ai dû louper plusieurs cours pour les partielles de mes autres études... du coup je n'ai eu qu'un cours en interface graphique. Les autres je n'ai vraiment pas eu le temps de récupérer. D'où un peu de flou chez moi voire même des lacunes.

    voici le code :
    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
     
    public void paintComponent(Graphics g) {
     
    		Grille grille = jeu.getGrilleJeu();
    		g.setColor(new Color(0, 80,0));
    		// Voici pour les colonnes
    		g.fillRoundRect(50, 10, 40, 640, 30, 30);
    		g.fillRect(150, 10, 40, 640);
    		g.fillRect(250, 10, 40, 640);
    		g.fillRect(350, 10, 40, 640);
    		g.fillRect(450, 10, 40, 640);
    		g.fillRect(550, 10, 40, 640);
    		g.fillRect(650, 10, 40, 640);
    		g.fillRoundRect(750, 10, 40, 640, 30, 30);
    		// Voici pour les lignes
    		g.fillRoundRect(50, 10, 740, 40, 30, 30);
    		g.fillRect(50, 110, 740, 40);
    		g.fillRect(50, 210, 740, 40);
    		g.fillRect(50, 310, 740, 40);
    		g.fillRect(50, 410, 740, 40);
    		g.fillRect(50, 510, 740, 40);
    		g.fillRoundRect(50, 610, 740, 40, 30, 30);


    Donc en gros on remplit le plateau par des rectangle bleu.

    Juste par pur curiosité comment connaît-on les codes couleurs ? Par exemple si je veux mettre en vert le dit plateau comment dois-je m'y prendre ?

    Après j'aurai d'autres questions (notamment quand je lance le programme la grille s'affiche correctement, le jeu se lance bien, tout est respecté mais lorsque 4 pions sont alignés le jeu est juste bloqué. J'aimerai rajouter un message du type "tel joueur a gagné")

    PS : je précise je bosse sur eclipse et Swing pour l'interface graphique.

    Merci de votre aide,

    Bonne soirée,

    Proginf =)

    EDIT : pour les couleurs c'est bon ;-)

  2. #2
    Membre à l'essai
    Homme Profil pro
    élève ingénieur
    Inscrit en
    Juillet 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Koweït

    Informations professionnelles :
    Activité : élève ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    C'est bizarre j'arrive à modifier la couleur de la grille en bleu clair ou bleu foncé ... mais impossible de quitter la couleur bleu !...

    L'idéal serait de faire la même chose en vert ou rouge ou n'importe quelle couleur. Je continue mes recherches. Je suis là toute la nuit j'espère que je croiserai un insomniaque ^^

    Du coup maintenant que j'ai réussi à mettre en vert (en fait c'était simple je suis juste pas trop réveillé j'entame ma deuxième nuit blanche ^^ désolé)

    Si par exemple maintenant je souhaite avoir un plateau vert avec des taches noires (genre camouflage militaire) est-ce possible ?
    C'est bon j'avance ^^

    Bon voilà pour être voici mes questions :

    1) j'aimerai savoir comment je pourrai créer un onglet fichier avec comme commande : "Nouvelle Partie", "Quitter" et "A propos" (histoire que je puisse marquer deux trois explications si on quelqu'un l'ouvre)

    2) Dès que 4 pions sont alignés j'aimerai annoncer que le vainqueur est soit le joueur 1, soit le joueur 2 soit l'IA .

    Bien évidemment je ne veux pas de réponse toute faite mais disons une méthodologie car là je tente des trucs mais It doesn't work sa mère !! ^^

  3. #3
    Invité
    Invité(e)
    Par défaut
    Personnellement quitte a travailler sur les interface graphique en Swing, je me serais plutot penché vers le GridLayout pour un puissance 4 plutôt que d'entrer des coordonnés directement dans le code. Le gridLayout est l'un des plus simple a comprendre selon moi.

    Dans ta fonction public void paintComponent(Graphics g), tu fais appel a une variable nommée grille qui ne te sert jamais.

    Je ne comprend pas ce que tu désires obtenir quand tu parle d'onglet fichier avec commande. Par contre, si ça peut t'aider, tu peux faire des recherches sur les JMenu et la JMenuBar.

    Pour afficher quel joueur a gagné, tu peux refaire une JFrame ou utiliser un JOptionPane pour afficher les score sous forme de popup.
    Après c'est un choix, il existe plein de façon de faire. La seul chose qui reste inchangée c'est la condition de victoire que te devra tester après chaque coups.

  4. #4
    Membre à l'essai
    Homme Profil pro
    élève ingénieur
    Inscrit en
    Juillet 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Koweït

    Informations professionnelles :
    Activité : élève ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Salut à toi,

    merci pour ta réponse. Je vais voir l'histoire de la grille qui ne sert à rien, j'avoue que je suis un peu perdu donc pas étonnant qu'il y ait beaucoup de déchet inutile dans le code.

    Pour le Menu j'ai réussi à l'aide de popup de créer un onglet Menu dans lequel il y a un bouton "à propos" qui décrit brièvement notre projet et un bouton "quitter" qui permet de fermer la fenêtre. Pour l'histoire de la nouvelle partie je réfléchis dessus et de même pour l'annonce du vainqueur. Je vois l'idée, je galère un peu pour la mettre en place mais je me bats ^^

    Je me pose une petite question comment peut-on mettre une image en fond d'écran derrière notre grille (histoire de soigner l'interface graphique).

    Voici ce que j'ai fait avec mon code :

    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
     
    public class Panneau extends JPanel {
    	private Jeu jeuNouveau;
    	public Grille grilleDeJeu;
    	private static BufferedImage images[] = new BufferedImage[1];
    	private Graphics g;
     
     
     
    	public Panneau() {
    		this.jeu=new Jeu();
    	}
     
     
     
     
     
    	public void paintComponent(Graphics g) {
     
    		Grille grille = jeu.getGrilleJeu();
     
    		g.setColor(new Color(0,0,0));
    		g.fillRect(50, 10, 40, 640);
    		g.setColor(new Color(0, 80,0));
    		g.fillRect(150, 10, 20, 640);
     
    		// Voici pour les lignes
    		g.setColor(new Color(0,0,0));
    		g.fillRect(50, 10, 740, 40);
    		g.setColor(new Color(0, 80,0));
    		g.fillRect(90, 110, 660, 20);
    		g.fillRect(90, 210, 660, 20);
     
     
    		//images[0] = ImageIO.read(new File("P4.jpg"));
    		try {
    			images[0] = ImageIO.read(new File("P4.jpg"));
    			} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			}
     
    		// g=pan.getGraphics();
     
     		Graphics2D gr = (Graphics2D)g;
     		gr.drawImage(images[0], 0,0, 140, 140, null);

    EDIT : pour info j'ai réussi à mettre le bouton "Nouvelle partie" ;-) et il fonctionne. Pour l'image j'y suis passé encore 2h ce soir et toujours rien Je n'arrive vraiment pas à avoir un arrière plan qui tient la route !
    EDIT2 : Bon j'arrive à afficher l'image que je souhaite avoir en arrière plan mais dans une autre fenêtre : j'ai donc deux fenêtre qui s'ouvre quand je lance le programme : une avec la grille du puissance 4 et la deuxième avec thème que j'aimerai mettre en fond d'écran "derrière" ma grille de puissance 4 ^^ J'avance, j'avance ...

Discussions similaires

  1. Interface graphique pour NMAP sous windows ?
    Par elitost dans le forum Développement
    Réponses: 2
    Dernier message: 07/11/2005, 00h09
  2. Interface graphique pour administrer un annuaire LDAP???
    Par SnipCool dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 09/06/2005, 17h40
  3. Interface graphique pour utilisateur
    Par Missvan dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 14/02/2005, 09h56
  4. [FEDORA] Interface graphique pour partager connexion
    Par booboo dans le forum RedHat / CentOS / Fedora
    Réponses: 2
    Dernier message: 15/06/2004, 13h14
  5. [Kylix] Interface graphique pour lognes de commande linux
    Par lecharcutierdelinux dans le forum EDI
    Réponses: 6
    Dernier message: 29/08/2003, 10h20

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