-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathturtle-fun.py
More file actions
96 lines (82 loc) · 2.48 KB
/
Copy pathturtle-fun.py
File metadata and controls
96 lines (82 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import turtle # https://docs.python.org/3.3/library/turtle.html
# Nous allons créer un logiciel permettant de dessiner un labyrinthe depuis une liste
# Observez le plateau ci-dessous
# On indique les "passages"
plateau = [
[
"HautDroite", "GaucheDroite", "GaucheBas"
],
[
"BasDroite", "GaucheDroite", "HautGauche"
],
[
"HautDroite", "GaucheBas", "Fin"
],
[
"Rien", "HautBas", "BasHaut"
],
[
"Rien", "HautDroite", "GaucheHaut"
]
]
# Fonction permettant de dessiner 1 case du plateau
def dessinerUneCase( typeCase, x, y, largeur, pensize):
turtle.pensize( pensize)
turtle.penup()
turtle.setposition( x, y)
turtle.setheading(0)
if "Rien" in typeCase:
return
if "Fin" in typeCase:
turtle.goto(x + largeurCase/2 ,y + largeurCase/2 )
turtle.pendown()
turtle.color('red', 'yellow')
turtle.begin_fill()
turtle.circle(largeurCase/4)
turtle.end_fill()
turtle.color('black', 'white')
turtle.penup()
return
if not "Haut" in typeCase:
turtle.pendown()
turtle.forward(largeur)
turtle.left(90)
if "Droite" in typeCase:
turtle.penup()
else:
turtle.pendown()
turtle.forward(largeur)
turtle.left(90)
if "Bas" in typeCase:
turtle.penup()
else:
turtle.pendown()
turtle.forward(largeur)
turtle.left(90)
if "Gauche" in typeCase:
turtle.penup()
else:
turtle.pendown()
turtle.forward(largeur)
turtle.left(90)
# ! Fin fonction dessinerUneCase
turtle.title("TP Tortue: Dessiner un labyrinthe depuis une liste")
turtle.delay(10)
largeurCase = 5
# X de gauche à droite et Y de haut vers le bas (Pour être dans le meme "sens" que la liste)
taille = 4 * largeurCase
turtle.setworldcoordinates(-1 * taille, 1 * taille , 1 * taille , -1 * taille)
pensize = 4
departX = -10
departY = -10
# On loope sur la liste et pour chaque case on demande le "dessin"
for indexHauteur in range(0, len(plateau) ):
print( plateau[indexHauteur]) # Pour debug
for indexLargeur in range( 0, len(plateau[indexHauteur])):
typeCase = plateau[indexHauteur][indexLargeur]
print( typeCase ) #Pour debug
dessinerUneCase( typeCase,
departX + indexLargeur * largeurCase,
departY + indexHauteur * largeurCase,
largeurCase,
pensize)