Urgent aide pour java

Fermé
oussama - 18 déc. 2009 à 00:52
 oussama - 18 déc. 2009 à 13:38
Bonjour,
j'ai un projet java à faire quelqu'un pourrait-il m'aider ? merci d'avance
voici le projet:
Il s’agit de simuler la comportement d’une "tortue" qui s'apparente à un petit robot dont le domaine
est l'écran d'affichage. En envoyant à cette tortue une succession de commandes prédéfinies, les enfants
peuvent construire des images graphiques de façon algorithmique.
Dans sa version de base, les caractéristiques de cette tortue sont les suivantes:
1 - Elle maintient une position (abscisse et ordonnée), une direction (deux directions seulement sont permises
horizontale (true) ou verticale (false))
2 - Elle possède une vitesse de déplacement constante (100 m/heure) au cours de son trajet.
3- Elle se caractérise par la distance parcourue à partir de son départ.
4 - Elle sait répondre à des commandes simples comme par exemple avancer, tournerADroite,
tournerAGauche…
La classe Java décrivant celle-ci doit s’écrire de la façon suivante :
class Tortue {
//déclaration des attributs privés
//constructeur qui reçoit les coordonnées de la position et la direction initiales et initialise la distance
parcourue à 0.
// Tous les mutateurs nécessaires
// Tous les accesseurs nécessaires
// Avancer d’une distance donnée
void avancer(int dist) {…}
// Tourner à droite selon un angle droit
void tournerADroite() {…}
// Tourner à gauche selon un angle droit
void tournerAGauche() {…}
}

L’ensemble des commandes permettant à la tortue de parcourir ce chemin est :
avancer(10), tournerAGauche(), avancer(2), tournerADroite(), avancer(12), tournerADroite(),
avancer(15), tournerADroite(), avancer(20)
N.B : Après chaque déplacement, ne pas oublier de mettre à jour les valeurs de la position courante, de la
distance parcourue et de la direction de la tortue.
Travail demandé
1°/ Dans la première partie, il vous est demandé de fournir une implantation de la classe Tortue décrite
précédemment. Cette implantation consiste à donner les attributs représentant l’état interne des tortues d’une
part et d’autre part à définir le corps de toutes les méthodes spécifiées.

2°/ L’étape suivante consiste à concevoir une classe de tortue plus spécialisée. La nouvelle classe de tortue à
définir, sera nommée TortueRapide. Comparées aux tortues de la classe précédente, les tortues de cette
nouvelle classe ont la particularité de pouvoir augmenter (accélérer) leur vitesse de 10m/h sur chaque mètre
parcouru sur le même segment (la vitesse initiale au début de chaque segment est toujours égale à 100m/h).
Définir cette nouvelle classe en utilisant le mécanisme d’héritage. La classe doit contenir :
- Une méthode getVitesse(int dist) qui permet de renvoyer la vitesse avec laquelle se déplace la tortue après
avoir parcouru une distance dist dans la même direction.
- Une méthode getTempsDeplacement(int dist) : qui permet de retourner le temps que passe la tortue pour
parcourir une distance dist dans une même direction.
3°/ Nous allons à présent construire une nouvelle sous-classe de tortue plus élaborée que la classe
TortueRapide. Cette sous-classe sera nommée TortueAMemoire. Les tortues de cette nouvelle classe sont
capables de mémoriser et de rejouer ultérieurement une même suite de commandes. A cet effet, ces tortues
sont dotées des opérations suivantes :
- enregistrerCommande(String cde) qui permet d’ajouter une commande donnée sous forme d’une chaîne de
caractères à la liste de commandes existantes.
- rejouer() qui demande à la tortue de rejouer l’ensemble des commandes mémorisées : il s’agit dans cette
méthode tout simplement d’afficher la liste de commandes mémorisées par la tortue.
- oublierTout() qui remet à zéro la liste des commandes mémorisées.


Définir cette nouvelle classe TortueAMemoire en utilisant le mécanisme d’héritage.
4°/ Dans le but d’expérimenter les classes déjà développées, on se propose d’ajouter une nouvelle classe
nommée Application, basée principalement sur sa méthode main() qui doit :
- Construire trois objets hétérogènes : une tortue franklein, une tortue rapide rapidos, et une tortue à mémoire
mémo.
- Mettre ces objets dans un même tableau.
A voir également:

2 réponses

Le concombre interprété
18 déc. 2009 à 01:06
Salut,
ça semble sympa ce projet.
de quelle aide as-tu besoin ?
0
salut,
oui je trouve que c'est sympas aussi. Alors j'ai fait ce code mais il fait que additionner même si il tourne à gauche ou à droite :

package projetpoo;

class Tortue {
private double X,Y;
private boolean Direction;
private int Distance;
public Tortue(double X,double Y,boolean Direction,int Distance){
this.X=X;
this.Y=Y;
this.Direction=Direction;
this.Distance=0;
}

public void setX(double X){
this.X=X;}

public void setY(double Y){
this.Y=Y;}

public void setDirection(boolean Direction){
this.Direction=Direction;}

public void setDistance(int Distance){
this.Distance=Distance;}

public double getX(){
return this.X;}

public double getY(){
return this.Y;}

public boolean getDirection(){

if(this.Direction==true){
System.out.println("Direction:Horizental");}
else{System.out.println("Direction:Vertical");}

return this.Direction;}

public int getDistance(){
return this.Distance;}

void Avancer(int Dist){
System.out.print("Segment de "+Dist+" mètres;");
if(Direction==true){setDistance(Dist);setX(this.X+Distance);}
else if(Direction==false){setDistance(Dist);setY(this.Y+Distance);}
}

void TournerADroite(){
if(Direction==true){setDirection(false);}
else if(Direction==false){setDirection(true);}
}

void TournerAGauche(){
if(Direction==true){setDirection(false);}
else{setDirection(true);}
}

}
0
Le concombre interprété
18 déc. 2009 à 01:44
Mouais...
en fin de compte, c'était pas si urgent que ça ton logo.
dommage, ça aurait été sympa.
a+
0