-
Notifications
You must be signed in to change notification settings - Fork 1
FahirahD/PrintShapes
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Fahirah Diarra, p1104084 Hamdi Ghannem, p1225567 Par rapport au design que nous avons précédement voici les quelques changements que nous avons apporter, pour mener à bien le projet. - Classe Surface, attribut Forme[] listeForme l'attribut liste est de type Forme [], nous l'avons changer pour un ArrayList<Forme> car, cette structure permettait d'ajouter plus facilement les formes, nous évitant ainsi de recréer nouveau tableau à chaque fois que nous voulons insérer une forme - Classe Surface, méthode resetCanevas () Cette méthode efface tout ce qui été inscrit dans le canevas, elle est utile, car elle permet,la de réecrire nos forme après avoir entre brasser ou renverser - Classe Surface, méthode setPixel(char car , int i , int j) Cette méthode à été ajouter pour permettre de mettre dans le canevas les pixels de l'objet que nous essayons de dessiner à l'interieur de la matrice. - Classe Surface, méthode afficherCanevas() Cette méthode a été ajouter simplement pour permettre d'afficher le contenu du canevas - Classe Forme, méthode abstraite renverser Cette méthode abstraite permet à chacune des classe qui le concept de étende forme de pouvoir définir la procédure permettant de renverser une forme. - Classe Cercle, méthode ajouterPixel(Surface sur, int x , int y) C'est une méthode est utilisé lors de la création du dessin de cercle pour faciliter l'ajout au canevas. - Classe Cercle, méthode renverser(Surface sur) Cette méthode à été ajouter pour permetttre de renverser le cercle en tenant compte du positionnement et des dimension de la surface - Classe Rectangle, méthode renverser(Surface sur) Cette méthode à été ajouter pour permetttre de renverser le rectangle en tenant compte du positionnement et des dimension de la surface - Classe Lettre attribut char lettre Cette attribut à été enlever, car nous utilisons maintenant la paramètre passant la lettre pour créer directement le tableau d'octet contenant l'information nécessaire pour construire le caractère. - Class Lettre attribut byte [] lettreEncode Cette attribut sert à contenir l'information par rapport à la facon de dessiner une lettre. - Classe Lettre méthode renverser(Surface sur) Cette méthode permet changer l'arrangement des bytes en tenant compte du positionnement et des dimension de la surface pour obternir un dessin renverser. - Classe Ligne, méthode renverser(Surface sur) Cette méthode à été ajouter pour permetttre de renverser la ligne en tenant compte du positionnement et des dimension de la surface - Classe Texte, méthode renverser(Surface sur) Cette méthode à été ajouter pour permetttre de renverser la texte en renversant individuellement chacune des lettres qui forme le texte Pour la detection des entrées nous avons séparé le concept en deux étapes: 1. la detection de la validité de l'entrée 2. l'execution de l'entrée Pour la detection de la validité de l'entrée,nous nous sommes intéressé dabord à l'existence de la commande. ensuite nous avons découper les arguments de la commande pour voir si le nombre de paramètre était adéquat et s'ils étaient du bon type. Ensuite, il ne restait qu'à faire l'exécution en étant s'assurant que la surface ait été initialisé avant de pour executer. Nous avons pris le temps d'écrire plusieurs fichiers de test qui cible des problèmes que nous aurions pu rencontrer. Comme la mauvaise initialisation de la surface, le dessins des differentes formes mal executer, le changements de caractère pour le dessin des formes, la positionement dans le canevas,un mauvais renversement de la forme etc... Ce Travail pratique fut une bon exercise pour exercer les concepts d'orienter objet. Nous avions quelques fonctions manquantes au niveau de notre design, mais sinon le squelette de départ à été une bonne inspiration pour la complétion du tp. Merci!
About
Draw simples shapes on terminal
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published