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

Collection et Stream Java Discussion :

Dessiner un tableau pour un morpion


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut Dessiner un tableau pour un morpion
    Bonjour ,

    J'aimerai réaliser un jeu de morpion.Ma question concerne l'affichage comment réaliser un affichage simple en mode texte.

    Concrètement comment je dessine un tableau de x lignes et y colonnes.En sachant que j'ai besoin de connaitre les coordonnées de chaque case.
    J'ai bien demander à la prof mais elle m'a expliqué ça du genre c'est trop simple et comme j'ai pas voulu passer pour un *** j'ai pas insisté.

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    Bonjour,
    Sais tu faire une matrice ?

  3. #3
    Membre expérimenté

    Avatar de mlny84
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4 023
    Par défaut
    Bonjour,

    Peut être en faisant quelque chose de ce style :

    o|x|o
    -----
    x|o|x
    -----
    o|x|o

    Tu peux stocker ton morpion dans un tableau à 2 dimensions et là au moins 2 possibilités :

    1°) Tu stocke les o et les x uniquement (donc 3 lignes et 3 colonnes), et c'est à l'affichage que tu rajoutes les barres pour faire un aspect visuel "morpion". (préférable je pense)

    2°) Tu stocke les o, les x et le graphique (donc 5 lignes et 5 colonnes), les o et les x sont dans les cases paires (0, 2 et 4) et les cases impaires pour les | et - et tu ne te pose pas de question pour l'affichage.

  4. #4
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Le modèle capturant l'état du jeu doit être indépendant de sa représentation. La proposition 1 que tu fais est donc la meilleure

    Pitié, ne pas stocker des chaînes ou des caractères dans la matrice, passer un type énuméré...

    Pour la représentation tu as deux choix:

    - le facile, qui est envisageable si la matrice est de faible dimension (3/4²). Se reposer sur des JButon pour matérialiser les cases, et utiliser le caption du bouton pour afficher 'o' ou 'x' ou rien. C'est facile a instancier, facile à organiser dans la vue ; tu as une marge de manœuvre dans la cosmétique et en prime tu as un mécanisme évènementiel prêt à l'emploi.

    - le moins facile qui consiste à te taper le graphique à la mano comme un grand à coup de primitives graphiques et à traiter comme un grand les clicks dans la vue. L'intérêt est que tu as une totale liberté dans l'affichage et permet d'envisager également des animations... Une bibliothèque supplémentaire peut-être envisagée style (http://sourceforge.net/projects/sprite2d/).

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    Merci pour les réponses ,
    Je vais tester tout ça ce soir

  6. #6
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Posons une matrice "morpion" m*n et écrivons la en sortie console...

    (on suppose que son contenu est 1 pour les rond , 2 pour les x et autre chose pour les espaces [rien ] ), on obtient un code qui vaut ça à peu pres (aux erreurs de syntaxe pres bien sûr parce que sans compilateur c'est super dur !)

    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
    void ecrireMorpion ()
    {
    // on suppose que morpion est une variable de la classe sinon faut la passer 
    //en argument
    // m, n voire ligne tiret peuvent être calculés ailleurs et pas à chaque boucle 
    //ca serait mieux
    int m = morpion.length();
    int n = morpion[0].length();
     
    String lignetiret ="";
    for (int j =0; j<2*n-1;j++) // la ligne de tirets contient 2*n -1 éléments 
       lignetiret+="-";
     
    for (int i = 0; i< m; i++)
      {
      for (int j=0; j<n;j++) 
        {
        String temp=" ";
        if(morpion[i][j]==1 ) 
            {
            temp="O";
            }
           else if (morpion[i][j]==2) 
                    {
                    temp ="X" ;
                    }
          System.out.print(temp );// print SANS LN 
          if(j!= n-1)  // pas de "|" apres le dernier element de la colonne
               // print SANS LN 
               System.out.print("|");
          } //fin du for j
     
         if(i!= m-1) // pas de ligne de tiret apres la derniere ligne 
            //print AVEC LN
             System.out.println(lignetiret);
        }// fin du for i 
    }

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    Merci beaucoup pour le code,
    pour l'instant je galère sur les matrices je ne savais pas que c'était aussi compliqué un tableau à deux dimensions.
    J'en suis venu à déclaré deux tableaux dans une double boucle dont 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
    23
    24
    25
    26
    27
    28
     
       // Les attributs
        String [][]tab ;
        String tab3[] = {"A","B","C","D","E"} ; 
        String [] tab1 ;
        String [] tab2 ;
     
        // Le constructeur
        public TableauJeu()
        {
            tab1 = new String[5] ;
            tab2 = new String[5] ;
             /*tab2 = new String[5] ; */
     
            for (int i =0;i<5;i++)
            System.out.print("| " +tab3[i]) ;
            for(int i=0 ;i<5 ;i++ )
            {
                for(int j=0;j<5;j++)
                {  
     
                tab1[j] ="| " ;
                System.out.print(tab1[j]) ;
                }
                tab2[i]="| ";
                System.out.println(tab2[i]) ;
        }
        }
    Mes questions sont :
    est ce une méthode valable , y a t il d'autres solutions plus simples,
    dans mon exemple qelles sont les lignes et les colonnes i ou j ?

    Merci d'avance

Discussions similaires

  1. petit probleme pour dessiner un tableau
    Par fleurrouge dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/12/2012, 11h22
  2. [HTML] Tableau pour l'enregistrement des données
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 01/11/2005, 15h28
  3. Problème tableau pour une requête
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 20h21
  4. dessiner un tableau dans WORD?
    Par sali dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/01/2005, 14h11
  5. [VB.NET] Quel objet tableau pour une recherche indexée ???
    Par Kitano dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/09/2004, 09h38

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