-
Notifications
You must be signed in to change notification settings - Fork 0
/
tartaruga.py
151 lines (117 loc) · 4.16 KB
/
tartaruga.py
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
import turtle
import random
def ajuda(funcao = ""):
'''Exibe a ajuda de uma função dada (ou caso nenhuma funcao seja passada,
explica como usar o comando dir para listar as funções disponíveis).'''
if funcao != "":
help(funcao)
else:
print("Use 'dir()' para ver as funções disponíveis")
def abaixar_caneta():
'''Os próximos comandos de movimento da tartaruga deixarão rastro'''
turtle.pendown()
def andar_ate(x, y):
'''Move a tartaruga até a posição (coordenadas x e y) passada'''
turtle.setpos(x, y)
def andar_horizontal(distancia):
'''Move a tartaruga na horizontal pela distância dada'''
turtle.setx(distancia)
def andar_vertical(y):
'''Move a tartaruga na vertical pela distância dada'''
turtle.sety(y)
def carimbar():
'''Desenha uma cópia da tartaruga (como um carimbo)'''
turtle.stamp()
def cor_caneta(cor):
'''Muda a cor da caneta (cores possíveis: azul, amarelo, branco,
verde, vermelho, preto e rosa).'''
turtle.pencolor(converte_cor(cor))
def cor_preenchimento(cor):
'''Mudar a cor de preenchimento (cores possíveis: azul, amarelo, branco,
verde, vermelho, preto e rosa).'''
turtle.fillcolor(converte_cor(cor))
def cor_aleatoria():
'''Retorna uma cor aleatoria que pode ser usada como cor de caneta
ou de preenchimento'''
return random.choice(list(dic_cores().keys()))
def direcao():
'''Exibe a direção atual da tartaruga (ângulo)'''
return turtle.heading()
def direita(angulo):
'''Gira a tartaruga para a direita pelo ângulo dado'''
turtle.right(angulo)
def entrada_numero(titulo, mensagem, minimo, maximo):
'''Pede um número ao usuário entre o valor mínimo e máximo passados,
Utiliza uma caixa de diálogo com o título e a mensagem passados.
Retorna o número do usuário'''
return turtle.numinput(titulo, mensagem, minimo, minimo, maximo)
def entrada_texto(titulo, mensagem):
'''Pede um texto ao usuário utilizando uma caixa de diálogo com o
título e a mensagem passados. Retorna o texto do usuário'''
return turtle.textinput(titulo, mensagem)
def escrever(texto):
'''Escreve na tela o texto passado'''
turtle.write(texto)
def esquerda(angulo):
'''Gira a tartaruga para a esquerda pelo ângulo dado'''
turtle.left(angulo)
def exibir():
'''Exibe a tartaruga na tela'''
turtle.shape("turtle")
turtle.showturtle()
def iniciar_preenchimento():
'''Os desenhos seguintes passam a ser preenchidos'''
turtle.begin_fill()
def levantar_caneta():
'''Os próximos comandos de movimento da tartaruga não deixarão mais rastro'''
turtle.penup()
def mudar_direcao(angulo):
'''Muda a direção da tartaruga pelo ângulo dado'''
turtle.setheading(angulo)
def finalizar_preenchimento():
'''Os desenhos seguintes deixam de ser preenchidos'''
turtle.end_fill()
def ponto():
'''Desenha um ponto na tela'''
turtle.dot()
def posicao():
'''Retorna a posição atual da tartaruga'''
return turtle.position()
def posicionar_aleatorio():
'''Posiciona a tartaruga em uma posicao aleatoria da tela'''
levantar_caneta()
x = random.randrange(-turtle.window_width()//2, turtle.window_width()//2)
y = random.randrange(-turtle.window_height()//2, turtle.window_height()//2)
andar_ate(x, y)
abaixar_caneta()
def pra_frente(distancia):
'''Move a tartaruga pra frente pela distância dada'''
turtle.forward(distancia)
def pra_tras(distancia):
'''Mover a tartaruga pra trás pela distância dada'''
turtle.backward(distancia)
def reiniciar():
'''Apaga os desenhos e retorna a tartaruga para a posição inicial'''
turtle.reset()
def terminar():
'''Termina o desenho (libera a janela de exibição)'''
turtle.done()
def velocidade(valor):
'''Altera a velocidade do desenho (valores de 1 a 10)'''
turtle.speed(valor)
def voltar_casa():
'''Retorna a tartaruga para a posição original (coordenadas 0,0)'''
turtle.home()
# Funções auxiliares
def dic_cores():
return {"azul":"blue", "amarelo":"yellow", "branco":"white",
"verde":"green", "vermelho":"red", "preto":"black", "rosa":"pink"}
def converte_cor(cor):
cores = dic_cores()
if cor in cores:
cor = cores[cor]
return cor
# Inicializações do Módulo
print("Tartaruga - https://github.com/caburu/tartaruga")
print("Versão: Jun-2017")
exibir()