Skip to content

Commit 7079987

Browse files
author
renzon
committed
Replay Funcionando!
1 parent 180eba1 commit 7079987

1 file changed

Lines changed: 21 additions & 13 deletions

File tree

placa_grafica_tkinter.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,22 +47,16 @@ def animar(tela, camada_de_atores, fase, passo=0.01, delta_t=0.01):
4747
tempo = 0
4848
passo = int(1000 * passo)
4949
angulo = 0
50+
multiplicador_rebobinar = 20
5051

5152
def _animar():
5253
nonlocal tempo
54+
nonlocal delta_t
5355
nonlocal angulo
54-
camada_de_atores.delete(ALL)
55-
camada_de_atores.create_image((0, 0), image=BACKGROUND, anchor=NW)
5656
tempo += delta_t
57-
tamanho_seta = 60
58-
angulo_rad = math.radians(-angulo)
59-
60-
camada_de_atores.create_line(52, 493, 52 + tamanho_seta * math.cos(angulo_rad),
61-
493 + tamanho_seta * math.sin(angulo_rad), width=1.5)
62-
camada_de_atores.create_text(35, 493, text=u"%d°" % angulo)
63-
for ponto in fase.calcular_pontos(tempo):
64-
plotar(camada_de_atores, ponto)
65-
57+
if tempo <= 0:
58+
tempo = 0
59+
delta_t /= -multiplicador_rebobinar
6660
if fase.acabou(tempo):
6761
camada_de_atores.create_image(162, 55, image=PYTHONBIRDS_LOGO, anchor=NW)
6862
camada_de_atores.create_image(54, 540, image=MENU, anchor=NW)
@@ -72,6 +66,16 @@ def _animar():
7266
img = VOCE_PERDEU
7367
camada_de_atores.create_image(192, 211, image=img, anchor=NW)
7468
else:
69+
camada_de_atores.delete(ALL)
70+
camada_de_atores.create_image((0, 0), image=BACKGROUND, anchor=NW)
71+
tamanho_seta = 60
72+
angulo_rad = math.radians(-angulo)
73+
74+
camada_de_atores.create_line(52, 493, 52 + tamanho_seta * math.cos(angulo_rad),
75+
493 + tamanho_seta * math.sin(angulo_rad), width=1.5)
76+
camada_de_atores.create_text(35, 493, text=u"%d°" % angulo)
77+
for ponto in fase.calcular_pontos(tempo):
78+
plotar(camada_de_atores, ponto)
7579
tela.after(passo, _animar)
7680

7781
def _ouvir_comandos_lancamento(evento):
@@ -84,8 +88,12 @@ def _ouvir_comandos_lancamento(evento):
8488
fase.lancar(angulo, tempo)
8589

8690
def _replay(event):
87-
# verificar se a fase ja acabou
88-
pass
91+
nonlocal tempo
92+
nonlocal delta_t
93+
if fase.acabou(tempo):
94+
delta_t *= -multiplicador_rebobinar
95+
_animar()
96+
8997

9098
def _jogar_novamente(event):
9199
# verificar se a fase ja acabou

0 commit comments

Comments
 (0)