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 :

Débutant cherche à créer un jeu de bataille navale


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Débutant cherche à créer un jeu de bataille navale
    Bonjour,

    Je suis débutante en java et encore plus débutante en interfaces graphiques puisque c'est la première fois que je tente d'en faire une. J'aimerais créer une grille de jeu (pour faire une bataille navale en fait) mais à partir de laquelle je puisse exécuter des méthodes sur ses cases (puisqu'il faut pouvoir ajouter un bateau sur deux cases par exemple). Sans interface graphique, je pense que j'aurais fait une grille qui serait en fait un Array de Case (classe Case) mais vu qu'il faut lier cela à un graphisme je n'ai aucune idée comment m'y prendre. J'imagine que je vais devoir utiliser la classe JFrame mais comment faire cette grille... ?

    Merci d'avance pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Mais ton idée de départ d'utiliser un tableau/liste/matrice est bonne et ce n'est pas un mal de chercher à séparer la logique du jeu de sa représentation graphique.

    Pour l'affichage, il te faut commencer par les cours & didacticiels sur les interfaces graphiques en Java puis ceux sur Java2D : http://java.developpez.com/cours/
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse.
    Pour le moment je suis partie sur une idée de GridLayout comportant des cases de Boutons ce qui permettra d'éxecuter différentes méthodes à partir d'une écoute de l'évenement de chaque bouton de la grille... Ca semble sensé ?
    Voici 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
     
    class Grille extends JFrame implements ActionListener { 
     
    	private static final long serialVersionUID = 1L;
    	public final int NBOUTONS = 100 ;
    	private JButton boutons[] ;
     
    	public Grille (){ 
    		setTitle ("j") ;
    		setSize (350, 180) ;
    		Container contenu = getContentPane() ;
    		contenu.setLayout (new GridLayout(10, 10, 1, 1)) ;
    		boutons = new JButton[NBOUTONS] ;
    		for (int i=0 ; i<NBOUTONS ; i++) { 
    			boutons[i] = new JButton ("Bouton " + i) ;
    			contenu.add(boutons[i]) ;
    			boutons[i].addActionListener(this);
    		}
    	}
     
    	public void actionPerformed(ActionEvent ev){
    		//	for(int i=0 ; i<NBOUTONS ; i++){  
    		String nom = ev.getActionCommand();
    		System.out.println(nom);
    		int[] liste = Bateau.getListeBateau();
    		int longueurListe = liste.length;
    		for (int i=0;i<longueurListe;i++){
    			if (String.valueOf(i) == nom){
    				boutons[i].setTitle("X");
    			}
    		}		
    	}
    	public static void main (String args[])
    	{ Grille gril = new Grille() ;
    	gril.setVisible(true) ;
    	}
    }

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Désolée j'aurais du le commenter. Je l'explique ici :
    J'ai parallèlement une grille de boutons (classe Grille) et dans une classe non visible ici (Bateau) j'ai déclaré une liste de numeros (listeBateau). L'idée, pour commencer simple, est d'avoir dans listeBateau les numeros des cases qui contiennent des bateaux.
    Quand je clique sur un bouton, je cherche à savoir si le numero du bouton est dans listeBateau. Si oui, je donne au bouton le titre X pour écrire sur le bouton X (il y a un bateau).

    Premier problème: Je veux changer le titre ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (int i=0;i<longueurListe;i++){
      if (String.valueOf(i) == nom){
          boutons[i].setTitle("X");
    			}
    		}
    mais ça me dit que la méthode setTitle(String) est undefined pour le type JButton... c'est pas justement une des méthodes de base d'un bouton ?! Je ne vois pas où peut être le problème... Merci !

  5. #5
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Il faut regarder du coté de la javadoc pour ça
    setText("blabla");
    ps : setTitle(String str) c'est pour les fenêtres
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  6. #6
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Points : 402
    Points
    402
    Par défaut
    Je trouve cela bizarre comme idée de partir sur une grille de bouton...
    Ne serait-il pas plus simple de partir sur une grille de JLabel par exemple, sachant que tu peux y associer les même évènements que tes boutons (click etc.) , mais surtout il te sera bien plus simple de changer l'image du JLabel ou autre pour simuler un bateau touché, une case dévoilée ou autre...
    C'est en aidant les autres qu'on en apprend beaucoup soi-même

Discussions similaires

  1. directx7 : Jeu de bataille navale
    Par yvanovitch dans le forum Vos contributions VB6
    Réponses: 0
    Dernier message: 31/10/2009, 09h50
  2. [Turbo Pascal] [Débutante] Bataille navale
    Par hoaxia dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 28/04/2009, 17h21
  3. Créer jeu de bataille sur internet
    Par Coussati dans le forum Général Conception Web
    Réponses: 42
    Dernier message: 17/12/2008, 07h31
  4. Implémentation d'un jeu de bataille navale
    Par bories81 dans le forum Débuter
    Réponses: 12
    Dernier message: 10/11/2008, 09h58
  5. aide pour jeu de la bataille navale
    Par Jeannot Alpin dans le forum Delphi
    Réponses: 17
    Dernier message: 19/11/2006, 20h33

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