mimi20Le 27/12/2009 à 15:55
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.