# -*- coding: utf-8 -*-

##  Name:           dessine_carte.py
##  Modification:   CFV
##  Date: 	        fevrier 2014
##  Description:    programme de dessin d'une carte avec Turtle

from turtle import *


def rectangle(taille, col):
    """ fonction qui dessine un rectangle de taille et de couleur col """

    color(col)  # permet de déterminer la couleur
    begin_fill()     # commence à repérer une forme fermée pour la "remplir"

    for i in range(4):     # on dessine les 4 côtés du carré
        forward(taille)
        right(90)

    end_fill()     # la forme est fermée on arrête le remplissage

def dessine_carte(carte, dico_region_couleur):
    """ dessine un rectangle pour chaque de la matrice carte
        les couleurs des rectangles sont définies par le dictionnaire dico_region_couleur """

    taille = 40             # taille d'un côté
    nbc = len(carte[0])     # nombre de colonnes
    
    tracer(0)   # empeche l'animation du trace et dessine tout d'un coup
    
    # on se place en haut a gauhe
    up()
    h = window_height()
    w = window_width()
    goto(-w/2,h/2)
    down()
    
    # on fait un parcours sur l'ensemble de la carte
    for ligne in carte:
        # pour chaque ligne de la carte
        for pixel in ligne:
            # pour chaque pixel de la ligne
            # pixel corresoind à un nom de région
            # on dessine un rectangle de la couleur associée à la région
            rectangle(taille,dico_region_couleur[pixel])
            # on se place pour dessiner le rectangle suivant
            forward(taille)
        # passage à la ligne dessous
        up()
        # on redescend pour se placer en début de ligne
        backward(nbc * taille)
        # on redescend pour me placer sur la ligne du dessous
        right(90)
        forward(taille)
        left(90)


    exitonclick()       # pour sortir de la fenêtre graphique par un click

