Aller au contenu

Projet : Formes géométriques

Consignes projet

Les projets sont à rendre en ligne, sur la plateforme Elea. On n'utilisera pas la messagerie pour le rendu !

Fondamental

La qualité du code est toujours évaluée, on prendra soin de rajouter des commentaires utiles pour le relecture, notamment au niveau des fonctions Python.

Attention

Tout projet non rendu à l'heure donnée le jour J sera pénalisé de -6 points pour 24 heures de retard et de -12 pts pour 48 heures. La note de zéro sera attribuée pour un projet non rendu ou rendu après 48 heures.

Aucun plagiat ou travail de groupe (sauf exception signalée) n'est autorisé, ce sera immédiatement la note minimale aux questions.

Il est strictement interdit d'utiliser une intelligence artificielle quelconque pour la réalisation des projets (sauf mention explicite).

La qualité du code est importante !

Bon travail !

Fonctions à coder

Vous devez programmer, dans un unique fichier nommé projet_turtle.py les fonctions ci-dessous.

Ce fichier devra contenir à la fois le code des fonctions et un jeu de tests (plusieurs appels de chaque fonction avec différentes valeurs affectées aux paramètres). Ce jeu de tests sera préférentiellement aléatoire...

Exemple et modèle de fichier à rendre
# Tous les import nécessaires viennent ici
from turtle import *
from random import *


# Toutes les fonctions viennent ici
def carre(xA, yA, AB, stylo):
    stylo.up()
    stylo.goto(xA, yA)
    stylo.down()

    for i in range(4):
        stylo.forward(AB)
        stylo.right(90)

def carre_t(...):
    ...


# Tous les tests s'écrivent dessous
if __name__ == "__main__":
    stylo = Pen() # On crée notre stylo pour nos fonctions

    # Test carre()
    carre(100,0,50,stylo)
    carre(-200,-50,25, stylo)

    # Test carre_t()
    ...

Remarque

Vous pouvez, bien entendu, réutiliser les fonctions que vous avez définies. Il est même conseillé de réutiliser les fonctions, par exemple pour faire carre_t en utilisant la fonction carre.

Toutes les fonctions prendront en dernier paramètre un stylo afin de fonctionner. C'est à partir de ce stylo que les dessins pourront se faire.

Les noms de fonctions sont à respecter !

Les carrés

Nom de la fonction Arguments Description
carre(xA, yA, AB, stylo) 3 nombres Trace un carré ABCD, (AB) étant dans la direction de la tortue, connaissant les coordonnées de A et la longueur AB.
carre_t(xA, yA, AB, angle, stylo) 4 nombres Trace un carré ABCD connaissant les coordonnées de A, la longueur AB et l’angle que fait (AB) avec à l'axe des abscisses.
carre_plein(xA, yA, AB, couleur, stylo)
carre_plein_t(xA, yA, AB, angle, couleur, stylo)
3 nombres, 1 string
4 nombres, 1 string
Idem fonctions précédentes, sauf que le carré est colorié en couleur donnée.

Les rectangles

Nom de la fonction Arguments Description
rectangle(xA, yA, AB, BC, stylo) 4 nombres Trace un rectangle ABCD, (AB) étant dans la direction de la tortue, connaissant les coordonnées de A, la longueur AB et la longueur BC.
rectangle_t(xA, yA, AB, BC, angle, stylo) 5 nombres Trace un rectangle ABCD connaissant les coordonnées de A, la longueur AB, la longueur BC et l'angle que fait (AB) avec à l'axe des abscisses.
rectangle_plein(xA, yA, AB, BC, couleur, stylo)
rectangle_plein_t(xA, yA, AB, BC, angle, couleur, stylo)
4 nombres, 1 string
5 nombres, 1 string
Idem fonctions précédentes, sauf que le rectangle est colorié en couleur donnée.
carre_bis(xA, yA, AB, stylo)
carre_bis_t(xA, yA, AB, angle, stylo)
3 nombres
4 nombres
Donne les mêmes résultats que les fonctions carre mais sont définies à l'aide des fonctions rectangle uniquement.

Escalier

Nom de la fonction Arguments Description
escalier(xD, yD, xA, yA, p, h, stylo) 6 nombres Trace un escalier connaissant les coordonnées de la position de départ, celle de l'arrivée, la profondeur et la hauteur d'une marche.
La dernière marche peut avoir une profondeur et une hauteur différentes.
Pensez aussi aux escaliers qui descendent.
On pourra utiliser astucieusement une fonction marche permettant le tracé d'une marche.

Dés

Nom de la fonction Arguments Description
face(numero, longueur, stylo) 2 nombres Trace la face d'un dé cubique connaissant le numéro de cette face (entre 1 et 6) et la longueur de l'arête du dé.
Le numéro de la face sera représenté par le nombre correspondant de petits carrés remplis.
de(longueur, stylo) 1 nombre Simule le lancer d'un dé à 6 face en traçant la face obtenue au hasard connaissant la longueur de l'arête du dé.
Le numéro de la face obtenue sera également affiché dans la console.

Bonus artistique

Uniquement si vous avez réussi à coder l'ensemble des fonctions précédentes (sinon ce bonus ne sera pas évalué), réaliser la plus belle figure artistique en ré-exploitant votre travail précédent.