arbre.py

text/x-python arbre.py — 1.7 KB

Contenu du fichier

''' **********************************************************************
    Fichier pgm1.py

    Programme qui manipule les chaines

    auteur gabriel girard
    date 2016


    Ce programme ne fonctionne pas correctment.
    Corrigez-le?
********************************************************************** '''
import sfml as sf
from arbreC import *


plus=0

def dessinerArbre(ecran, pt1, pt2, lgArbre, angle) :
    print("Longueur tronc = ", lgArbre)
    if lgArbre > 2 :
        # on dessine le tronc
        dessinerLigne(ecran, pt1,  pt2);

        #on dessine un arbre à gauche
        p3 = calculerPoint(pt2, lgArbre//2, angle+45+plus)
        dessinerArbre(ecran, pt2,p3,lgArbre//2, angle+45+plus)

        #on dessine un arbre à droite
        p3 = calculerPoint(pt2, lgArbre//2, angle-45-plus);
        dessinerArbre(ecran, pt2,p3,lgArbre//2, angle-45-plus);

        #on dessine un arbre au sommet du tronc
        p3 = calculerPoint(pt2, int(lgArbre*3/4), angle);
        dessinerArbre(ecran, pt2,p3,int(lgArbre*3/4), angle);


def main() :

    ecran = Canevas()
    #  Lecture des coordonnees du bas de l'arbre
    print("Entrer la racine de l'arbre : ")
    p1 = Point()
    p1.lecture()
    # Lecture de la longueur du tronc de l'arbre
    longueurTronc = int(input( "Entrer la longueur de l'arbre : ")   )

    # Calculer le point pour dessiner le tronc original de l'arbre
    p2 = Point(p1.valX(), p1.valY() + longueurTronc);

    # on dessine le prmier tronc à un angle de 90
    dessinerArbre(ecran, p1, p2, longueurTronc, 90);

    # Une lecture pour eviter la fermeture trop rapide du canevas
    pause = input("Entrez un caractere pour terminer la pause : ")

if __name__ == "__main__":
    main()