Primeiro a grelha.
01.
import
turtle
02.
03.
def
grelha(dim,lado):
04.
"""Desenha uma grelha dim x dim em que cada célula tem de lado lado."""
05.
turtle.color(
"gray"
)
06.
tam
=
(dim
*
lado)
07.
x
=
-
tam
/
/
2
08.
y
=
tam
/
/
2
09.
turtle.penup()
10.
turtle.goto(x,y)
11.
for
lin
in
range(dim):
12.
# Desenha linha de quadrados
13.
for
col
in
range(dim):
14.
turtle.pendown()
15.
quadrado(lado)
16.
turtle.penup()
17.
turtle.setx(turtle.xcor()
+
lado)
18.
# reposiciona
19.
turtle.penup()
20.
turtle.setposition(x, turtle.ycor()
-
lado)
21.
turtle.hideturtle()
22.
23.
def
quadrado(lado):
24.
for
i
in
range(
4
):
25.
turtle.fd(lado)
26.
turtle.rt(
90
)
Feito isto, a parte fácil, vamos ao passeio.
01.
def
passeio(dim, lado, passos):
02.
# Prepara grelha
03.
turtle.speed(
0
)
04.
grelha(dim,lado)
05.
turtle.color(
'red'
)
06.
turtle.home()
07.
turtle.pendown()
08.
# Passeio
09.
turtle.speed(
6
)
10.
turtle.dot()
11.
turtle.showturtle()
12.
lim_x
=
lim_y
=
(dim
*
lado)
/
/
2
13.
cor_x
=
0
14.
cor_y
=
0
15.
for
i
in
range(passos):
16.
vai_para
=
random.choice([
'N'
,
'E'
,
'S'
,
'W'
])
17.
if
(vai_para
=
=
'N'
)
and
(cor_y < lim_y):
18.
cor_y
+
=
lado
19.
turtle.setheading(
90
)
20.
turtle.fd(lado)
21.
elif
(vai_para
=
=
'E'
)
and
(cor_x < lim_x):
22.
cor_x
+
=
lado
23.
turtle.setheading(
0
)
24.
turtle.fd(lado)
25.
elif
(vai_para
=
=
'S'
)
and
(cor_y >
-
lim_y):
26.
cor_y
-
=
lado
27.
turtle.setheading(
270
)
28.
turtle.fd(lado)
29.
elif
(vai_para
=
=
'W'
)
and
(cor_x >
-
lim_x):
30.
cor_x
-
=
lado
31.
turtle.setheading(
180
)
32.
turtle.fd(lado)
33.
else
:
34.
print
((vai_para,turtle.xcor(),turtle.ycor()))
35.
continue
Sem comentários:
Enviar um comentário