Partage
  • Partager sur Facebook
  • Partager sur Twitter

Matrice

    5 décembre 2009 à 1:06:22

    Bonsoir,
    Je voudrais voir afficher a l'écran ceci:

    0000000
    0000000
    0000000
    0000000
    0000000
    0000000

    Voila mon bout de code que j'ai essayer de réaliser:
    int[][] Tab = new int[5][6];
    
    		for (int i=0; i<Tab.length; i++) //=5
    		{
    			for (int j=0; j<Tab.length; j++) //=6
    			{
    				Tab[i][j] = 0;  // initialize chaques éléments à zéro
    				System.out.println(Tab[i][j]);
    			}
    		}
    


    Le problème est que je vois tout en colonne...

    Je voudrais également savoir comment fait-on pour insérer dedans ?


    Merci!!
    Bonne soirée
    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2009 à 10:22:25

      C'est normal, il y a un retour automatique avec System.out.println(). Il faut utiliser System.out.print() pour afficher une ligne puis System.out.println() (sans rien dedans) pour sauter une ligne).

      Citation : Titane12

      Je voudrais également savoir comment fait-on pour insérer dedans ?


      Pas compris la question. Tu peux reformuler ?
      • Partager sur Facebook
      • Partager sur Twitter
        5 décembre 2009 à 16:19:21

        Merci pour ton aide;

        Ben simplement si je veux par exemple insérer 1 au niveau de la colonne 2.

        En faite pour t'expliquer, je doit réaliser un puissance 4 (projet).

        Si tu as des idées cela m'aiderais beaucoup :)
        • Partager sur Facebook
        • Partager sur Twitter
          5 décembre 2009 à 16:23:16

          Ouais j'ai des idées vu que j'ai dû coder un morpion pendant mes TP. Les 2 jeux ne sont pas si éloignés que ça.

          C'est un puissance 4 avec ou sans interface graphique que tu dois coder ?
          • Partager sur Facebook
          • Partager sur Twitter
            5 décembre 2009 à 22:25:52

            Puissance 4 avec interface graphique
            • Partager sur Facebook
            • Partager sur Twitter
              6 décembre 2009 à 0:15:47

              donc, ça ne sert a rien de chercher a l'afficher avec des system.out.println.
              essaye déjà de le representer dans un panel
              • Partager sur Facebook
              • Partager sur Twitter
              J'ai tous les badges d'OpenClassrooms.
                6 décembre 2009 à 0:55:50

                Salut,

                Moi perso, quand j'avais développé un jeu (puissance 4 aussi je crois), je m'étais servi de la console pour voir comment ca se passait dans mon code, un petit debug quoi.

                Comme à la base, c'est plus facile d'afficher sur la console le contenu de la variable plutôt que d'instancier la partie graphique, ca se comprend...

                J'avais une interface Joueur puis JoueurConsole et JoueurUI qui l'implémentaient...
                • Partager sur Facebook
                • Partager sur Twitter
                  6 décembre 2009 à 3:52:58

                  Pense objet.
                  Je verrais bien une classe Matrice qui fasse quelques opérations élémentaires (du genre insererJeton(), viderMatrice()...). Donc tu auras une classe qui s'occupe de la logique de ton code.
                  Ensuite pour l'implémentation graphique, fais en sorte que chaque classe graphique ne s'occupe que d'afficher des choses, et non de faire des calculs.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 décembre 2009 à 4:07:01

                    Non je sais bien ça, mais quand j'ai commencé, le graphisme java, c'était pas mon truc, ca peut dépendre de pas mal d'options.
                    Donc là, comme tu dis, on fait le système et ensuite on créé les classes pour qu'elles affichent l'état du jeu actuel.
                    Etant donné que je redéfinie toujours les fonctions toString, c'est que je me sers pour mes tests en affichant mon plateau.

                    Après, peut-être qu'il faut réfléchir à comment on va l'implémenter en graphisme en même temps qu'on fait le code, mais bon, c'est qu'une méthode de faire ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 décembre 2009 à 10:41:38

                      Système MVC pour ce genre de jeu. C'est pratique :)

                      Tu commences par créer le modèle (= le jeu en lui même) c'est-à_dire la grille, les jetons 2 de couleurs, les "cases" de la grille et les méthodes qui vont avec. Puis après tu fais le contrôle qui gère la partie (mettre un jeton si le joueur a le droit de le faire, vérifier s'il y a un gagnant, etc...). Une fois que tu as modele + controle ton jeu est jouable en console. Après tu fais la vue et là ton jeu devrait être jouable graphiquement :)

                      Tu dois faire la vue à la main ? ou tu peux utiliser l'éditeur de Vue de Netbeans ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 décembre 2009 à 11:10:20

                        Merci à tous!!

                        Pour l'éditeur, j'utilise "Eclipse" car ma prof de Java ne sais pas utiliser "Netbeans". Après MVC, il va falloir que je regarde ca. Les seule cours que j'ai eu en java c'est purement du graphique: faire un bouton, une fenêtre ...

                        J'ai déjà réalisé la partie graphique de saisir un joueur, l'afficher, maintenant me reste pu que le cœur du jeu.

                        J'ai remarqué sur le net que certaine personne utilise des images: grille, pion jaune, pion rouge, pion blanc mais je ne voit pas trop comment ça marche.

                        Après bon je cherche quand même a faire un programme propre mais qui restera simple de compréhension (si possible :) ).
                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 décembre 2009 à 16:20:18

                          Le puissance4 coté graphique c'est juste le système qui te permet d'afficher ta matrice à un état donné.
                          Tu peux décider de faire un panel avec un gridLayout ou de dessiner une grille avec des drawRect, ...
                          Après les pions tu peux commencer par en faire des cercles, après plus tard du pourra les changer en images.
                          Le principe est assez logique.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          J'ai tous les badges d'OpenClassrooms.
                            6 décembre 2009 à 16:23:53

                            Commence par faire simple. Faut déjà que le modèle et le controle marchent avant de se prendre la tête avec la vue.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              8 décembre 2009 à 16:28:52

                              Merci, je vais essayer tout ca!

                              Je voudrais savoir, Comment fait-on pour faire bouger une image ? et de façon vertical ?

                              J'arrive naturellement a faire bouger le pion comme dans le cour mais je n'y arrive pas avec une image...

                              J'ai utilisé : try et catch; donc mon image s'affiche mais ne bouge pas.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                9 décembre 2009 à 13:12:38

                                Citation : elmh

                                pour l'implémentation graphique, fais en sorte que chaque classe graphique ne s'occupe que d'afficher des choses, et non de faire des calculs.


                                Et ImageIO.read(Image) fait BEAUCOUP de calculs. Autrement dit on s'arrange pour faire le moins de calculs possibles, autremlent dit encore, on ne va pas effectuer cette tâche 50 fois alors qu'une seule suffit.
                                Si tu sais faire bouger un dessin, tu sais faire bouger une image.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  9 décembre 2009 à 14:19:58

                                  D'accord merci, je vais essayer

                                  Pour la matrice ça donne ceci:
                                  private int[][] grille;
                                  	
                                  	/** Constructeur */
                                  	public void matriceJeu() {
                                  		grille = new int[7][6]; //matrice de taille 7x6
                                  		for (int colonne = 0; colonne < 7; colonne++) {
                                  			for (int ligne = 0; ligne < 6; ligne++) {
                                  			//	System.out.print(grille[colonne][ligne]);
                                  			}
                                  		}
                                  	}
                                  


                                  Mais maintenant il faudrait saisir dans cette matrice un "x" ou un "o" mais je ne voit pas par quoi commencer...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    9 décembre 2009 à 15:35:37

                                    Si tu pensais la chose en POO tu n'aurais pas trop de soucis vis-à-vis de cette question.
                                    Enfin bon, où est-ce que tu bloques ? Tu ne sais pas remplir un tableau ?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      9 décembre 2009 à 19:09:59

                                      Ben le problème est que je doit faire un puissance 4 donc je ne sais pas trop comment continuer.
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Matrice

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown