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

avec Java Discussion :

Composition d'objet exercice


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut Composition d'objet exercice
    Bonjour ,

    Je fais un exercice qui me pose pas mal de problème.
    L'exercice est le suivant : je dois créer une classe RobotDirectionnel qui se dirige dans une certaines directions.
    Les variables d'instances sont un robot et une direction
    Et je dois implémenter des méthodes suivantes : void avancer , tournerAdroite , tournerAgauche, avec getX, getY , getDirection et ToString

    Voici ce que j'ai fait pour ma classe
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    import robots.jar;
     
    public class RobotDirectionnel {
     
    	 private  RobotVisuel r;
    	 private  int direction;
     
     
     
    	   public RobotDirectionnel(int x,int y,int haut,int bas,PlateauVisuel v) {
     
    		   r=new RobotVisuel(x,y,v);
     
    	   }
     
    	   public void avancer(){
     
     
    		   r.moveRight();
     
    	   }
     
    	   public void peutAvancer() {
     
    		  boolean avancer,adroite,agauche;
     
     
    		  avancer=r.canMoveRight();
    	      agauche=r.canMoveUp();
    		  adroite=r.canMoveDown();
     
    	   }
     
    	   public void tournerADroite() {
     
    		r.moveDown();   
     
    	   }
     
     
    	   public void tournerAGauche() {
     
    		 r.moveUp();
     
    	   }
     
    	   public int getx() {
     
     
    		   return this.r.getX();
    	   }
     
    	   public int gety() {
     
     
    		   return this.r.getY();
    	   }
     
    	   public int getDirection() {
     
    		  return this.r.getX() + this.r.getY(); 
    	   }
     
     
    	   public String toString() {
     
     
    		   return System.out.println(r);
    	   }
     
    }
    Pour celle de test
    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
    import robots.jar;
     
    public class TestRobotDirectionnel {
     
     
    	public static void main(String[] args) {
     
    		int x=2,y=2,haut=3,bas=1;
     
    		PlateauVisuel v=new PlateauVisuel("Robot Directionnel");
    		RobotDirectionnel r=new RobotDirectionnel(x,y,haut,bas,v);
     
    		r.avancer();
    		r.avancer();
     
    		r.tournerADroite();
    		r.tournerADroite();
     
    		r.peutAvancer();
     
    		r.avancer();
    		r.avancer();
     
    		r.tournerAGauche();
    		r.tournerAGauche();
     
    		System.out.println(r); // Méthode toString exécutée
     
    	}
     
    }
    Je ne comprends pas à quoi getDirection peu bien me servir et comment modifier les positions du robot en x et y et à quoi sert le haut et le bas ?

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 130
    Par défaut
    JE dirai que ton robot, pars d'un point x,y et d'une orientation (vers ou il regarde)

    en fonction de l'enchainement des appels aux méthode de déplacement et de rotation( avancer , tournerAdroite , tournerAgauche,) on peut vouloir savoir dans quel direction il va si on fait avancer. pour moi voila a quoi servirait getDirection.

    la direction serait l'etat d'un automate. par exemple si le méthode de rotation font tourner le robot de 90°, on aurait 4 etat pour la direction : vers le haut, vers la droite, vers le bas, vers la gauche.

    Je pense que les x et y sont modifié via les méthodes de r.

    Pour le haut et le bas, aucune idée.

    Hypothèse, ta méthode avancer est peut être fausse, dans le sens ou tu fait tout le temps moveRight(); sans tenir compte de l'orientation du robot

    En espérant avoir pu aider. (et avoir été a peu près clair )

  3. #3
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    Merci de tes explications
    j'ai modifié en conséquence
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    import robots.jar;
     
    public class RobotDirectionnel {
     
    	 private  RobotVisuel r;
    	 private  int direction;
     
     
     
    	   public RobotDirectionnel(int x,int y,int haut,int bas,PlateauVisuel v) {
     
    		   r=new RobotVisuel(x,y,v);
     
     
    	   }
     
    	   public void avancer() {
     
     
    		if(peutAvancer()==TRUE) {
     
    		   r.moveRight();
     
    		}
     
    		else 
     
    		    tournerAdroite();
     
    	   }
     
    	   public boolean peutAvancer() {
     
    		 boolean avancer;
     
    	     avancer=r.canMoveRight();
     
    		if(avancer == TRUE) {
     
    			return TRUE;
     
    		} 
     
    		else 
    	    	return FALSE;
     
    	   }
     
    	   public void tournerADroite() {
     
    		r.moveDown();   
     
    	   }
     
     
    	   public void tournerAGauche() {
     
    		 r.moveUp();
     
    	   }
     
    	   public int getx() {
     
     
    		   return this.r.getX();
    	   }
     
    	   public int gety() {
     
     
    		   return this.r.getY();
    	   }
     
    	   public int getDirection() {
     
    		   return this.direction; 
    	   }
     
     
    	   public String toString() {
     
     
    		   return "Direction en x : " + getx() + '\n' + "Direction en y : " + gety();
    	   }
     
    }
    Mais je vois pas en quoi haut et bas peuvent être des int avec uniquement une variable direction qui reçoit quoi ? direction devrait être de type string ?
    avec haut et bas aussi ?

Discussions similaires

  1. Implementer une relation de composition en Orienté objet
    Par foufa007 dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 11/04/2007, 19h34
  2. Objets composés et composites
    Par yanis97 dans le forum Langage
    Réponses: 8
    Dernier message: 24/10/2006, 11h20
  3. [mapping] composite key et objet en même temps
    Par Invité dans le forum Hibernate
    Réponses: 5
    Dernier message: 21/09/2006, 14h15
  4. Réponses: 3
    Dernier message: 22/12/2005, 00h40
  5. 2 compositions pour un seul objet
    Par Jorus dans le forum Diagrammes de Classes
    Réponses: 6
    Dernier message: 31/10/2005, 13h41

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