FINALIZAÇÃO QUASE FINALIZADA EM TORNO DE SEU FINAL DO FINAL

This commit is contained in:
Brasilicio Henrique Campos Rêgo 2025-03-06 20:45:52 -03:00
parent 49e772da91
commit 426e254a61
2 changed files with 106 additions and 44 deletions

145
main.py
View File

@ -2,11 +2,12 @@
module docs module docs
""" """
import turtle as tl import turtle as tl
from time import sleep as pause from time import sleep as pause
from menus import main_menu from menus import main_menu
# Funcao para fazer as falas dos personagens
def falas(personagem: tl.Turtle, text: str, tempo: float = 3) -> None: def falas(personagem: tl.Turtle, text: str, tempo: float = 3) -> None:
fala.goto(personagem.pos()) fala.goto(personagem.pos())
fala.left(45) fala.left(45)
@ -15,14 +16,15 @@ def falas(personagem: tl.Turtle, text: str, tempo: float = 3) -> None:
fala.write(text,False,font=("arial",10,"normal")) fala.write(text,False,font=("arial",10,"normal"))
pause(tempo) pause(tempo)
count = 0 count = 0
while count < 4: while count <= 3:
fala.undo() fala.undo()
count += 1 count += 1
def pinto_acha_cobra() -> None: def pinto_acha_cobra() -> str:
""" """
Roteiro da cena 1:
Lugar misterioso com um baú. O pinto entra na cena. "Eita, um baú totalmente estranho no meio dessa masmorra super perigosa." Lugar misterioso com um baú. O pinto entra na cena. "Eita, um baú totalmente estranho no meio dessa masmorra super perigosa."
"Baús são legais. Com certeza deve ter algo legal dentro. Vou ver o que tem nele." - Diz o pinto. "Baús são legais. Com certeza deve ter algo legal dentro. Vou ver o que tem nele." - Diz o pinto.
O pinto vai até o baú e tenta abrir ele. O pinto vai até o baú e tenta abrir ele.
@ -46,14 +48,14 @@ def pinto_acha_cobra() -> None:
tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/pinto_.gif")
pinto.shape("sprites/personagens/pinto_.gif") pinto.shape("sprites/personagens/pinto_.gif")
pinto.goto(-281,-89) pinto.goto(-281, -89)
pinto.showturtle() pinto.showturtle()
pinto.goto(-132,-89) pinto.goto(-132, -89)
falas(pinto, "Eita, um baú totalmente estranho no meio\ndessa masmorra muito perigosa.") falas(pinto, "Eita, um baú totalmente estranho no meio\ndessa masmorra muito perigosa.")
falas(pinto, "Baús são legais. Com certeza deve ter\nalgo legal dentro. Vou ver o que tem nele.") falas(pinto, "Baús são legais. Com certeza deve ter\nalgo legal dentro. Vou ver o que tem nele.")
pinto.goto(28,-89) pinto.goto(28, -89)
pinto.goto(31,-16) pinto.goto(31, -16)
pause(2) pause(2)
@ -65,7 +67,7 @@ def pinto_acha_cobra() -> None:
tl.addshape("sprites/personagens/_cobra.gif") tl.addshape("sprites/personagens/_cobra.gif")
cobra.shape("sprites/personagens/_cobra.gif") cobra.shape("sprites/personagens/_cobra.gif")
cobra.goto(31,53) cobra.goto(31, 53)
cobra.showturtle() cobra.showturtle()
pinto.goto(-160, -132) pinto.goto(-160, -132)
@ -77,39 +79,53 @@ def pinto_acha_cobra() -> None:
pinto.goto(-242, -164) pinto.goto(-242, -164)
falas(pinto, "Por que eu deveria acreditar em você?") falas(pinto, "Por que eu deveria acreditar em você?")
cobra.goto(-75, -108) cobra.goto(-55, -108)
falas(cobra, "Porque o meu nome é Python! Cobras\ncom esse nome são confiáveis...") falas(cobra, "Porque o meu nome é Python! Cobras\ncom esse nome são confiáveis...", tempo = 4)
falas(pinto, "Tipo aquela linguagem\nde programação?") falas(pinto, "Tipo aquela linguagem\nde programação?!?!")
falas(cobra, "Isso mesmo!") falas(cobra, "Isso mesmo!", tempo = 1.5)
falas(pinto, "Eu não quero\nfazer programa!!!")
tl.addshape("sprites/personagens/_pinto.gif") tl.addshape("sprites/personagens/_pinto.gif")
count = 0
while count <= 4:
pinto.shape("sprites/personagens/_pinto.gif")
pause(0.15)
pinto.shape("sprites/personagens/pinto_.gif")
pause(0.15)
count += 1
pinto.shape("sprites/personagens/_pinto.gif") pinto.shape("sprites/personagens/_pinto.gif")
pause(1) falas(pinto, "Eu não quero\nfazer programa!!!")
pinto.goto(-281,-89) pause(0.5)
pinto.goto(-281, -89)
pinto.hideturtle() pinto.hideturtle()
falas(cobra, "Volte aqui pintinho, eu\nnão vou fazer você programar!") falas(cobra, "Volte aqui pintinho, eu\nnão vou fazer você programar!")
cobra.goto(-132,-89) cobra.goto(-281, -89)
cobra.hideturtle() cobra.hideturtle()
pause(2) pause(2)
terminou = "sim" terminou = "sim"
if terminou == "sim": if terminou == "sim":
return return "Finalizou cena"
else:
return "Nao conseguiu finalizar a cena"
def pinto_foge_cobra(): def pinto_foge_cobra() -> str:
""" """
Roteiro da cena 2:
Um lugar da masmorra sombria. Esse lugar tem mais de uma saída. Tem paredes e obstáculos. Um lugar da masmorra sombria. Esse lugar tem mais de uma saída. Tem paredes e obstáculos.
O pinto aparece correndo da cobra. "Ainda bem que eu já passei por aqui!" - Diz ele. O pinto aparece correndo da cobra. "Ainda bem que eu já passei por aqui!" - Diz ele.
O pinto então passa pelos lugares certos e vai na direção de cima. O pinto então passa pelos lugares certos e vai na direção de cima.
Enquanto isso a cobra chega no lugar e fica "perdida". "Que lugar estranho! No baú era melhor." - Diz ela. Enquanto isso a cobra chega no lugar e fica "perdida". "Que lugar estranho! No baú era melhor." - Diz ela.
Não sabendo para onde foi o pinto, ela diz - "Não sei para onde esse pinto foi..."
Então ela vai para baixo. Então ela vai para baixo.
Ambos fora de cena. Ambos fora de cena.
""" """
@ -126,7 +142,7 @@ def pinto_foge_cobra():
pinto.showturtle() pinto.showturtle()
pinto.goto(2, -28) pinto.goto(2, -28)
falas(pinto, "Ainda bem que eu já passei por aqui") falas(pinto, "Ainda bem que eu já passei por aqui!")
tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/pinto_.gif")
pinto.shape("sprites/personagens/pinto_.gif") pinto.shape("sprites/personagens/pinto_.gif")
@ -144,6 +160,17 @@ def pinto_foge_cobra():
falas(cobra, "Que lugar estranho!\nNo baú era melhor.") falas(cobra, "Que lugar estranho!\nNo baú era melhor.")
tl.addshape("sprites/personagens/cobra_.gif") tl.addshape("sprites/personagens/cobra_.gif")
count = 0
while count <= 4:
cobra.shape("sprites/personagens/cobra_.gif")
pause(0.15)
cobra.shape("sprites/personagens/_cobra.gif")
pause(0.15)
count += 1
falas(cobra, "Não sei para onde esse pinto foi...")
cobra.shape("sprites/personagens/cobra_.gif") cobra.shape("sprites/personagens/cobra_.gif")
cobra.goto(1, -285) cobra.goto(1, -285)
@ -153,10 +180,13 @@ def pinto_foge_cobra():
terminou = "sim" terminou = "sim"
if terminou == "sim": if terminou == "sim":
return return "Finalizou cena"
else:
return "Nao conseguiu finalizar a cena"
def pinto_acha_arma() -> None: def pinto_acha_arma() -> str:
""" """
Roteiro da cena 3:
Nessa cena o pinto chega em uma nova sala estranha com um baú. Nessa cena o pinto chega em uma nova sala estranha com um baú.
"Nossa, outro baú muito perigoso nessa masmorra. Vou abrir!" - Diz o pinto indo em direção ao baú. "Nossa, outro baú muito perigoso nessa masmorra. Vou abrir!" - Diz o pinto indo em direção ao baú.
O pinto vai até o baú e após abrir ele, acha um lança-chamas. O pinto vai até o baú e após abrir ele, acha um lança-chamas.
@ -169,11 +199,9 @@ def pinto_acha_arma() -> None:
terminou = "não" terminou = "não"
tl.addshape("sprites/fundos/fundo_3_bau_fechado.gif") tl.addshape("sprites/fundos/fundo_3_bau_fechado.gif")
tl.addshape("sprites/fundos/fundo_3_bau_aberto.gif")
bgpic.shape("sprites/fundos/fundo_3_bau_fechado.gif") bgpic.shape("sprites/fundos/fundo_3_bau_fechado.gif")
tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/pinto_.gif")
tl.addshape("sprites/personagens/_pinto.gif")
pinto.shape("sprites/personagens/pinto_.gif") pinto.shape("sprites/personagens/pinto_.gif")
pinto.hideturtle() pinto.hideturtle()
@ -182,10 +210,14 @@ def pinto_acha_arma() -> None:
pinto.goto(0, -16) pinto.goto(0, -16)
falas(pinto, "Nossa, outro baú muito perigoso\nnessa masmorra. Vou abrir!") falas(pinto, "Nossa, outro baú muito perigoso\nnessa masmorra. Vou abrir!")
tl.addshape("sprites/fundos/fundo_3_bau_aberto.gif")
bgpic.shape("sprites/fundos/fundo_3_bau_aberto.gif") bgpic.shape("sprites/fundos/fundo_3_bau_aberto.gif")
tl.addshape("sprites/objetos/lancachamas.gif") tl.addshape("sprites/objetos/lancachamas.gif")
lanca_chamas.shape("sprites/objetos/lancachamas.gif") lanca_chamas.shape("sprites/objetos/lancachamas.gif")
lanca_chamas.goto(0, 64) lanca_chamas.goto(0, 64)
lanca_chamas.showturtle() lanca_chamas.showturtle()
@ -199,8 +231,10 @@ def pinto_acha_arma() -> None:
pinto.goto(0, -352) pinto.goto(0, -352)
# OUTRA SALA ---------------------------------------------------------------------------------------- # OUTRA SALA ----------------------------------------------------------------------------------------
tl.addshape("sprites/fundos/fundo_2.gif") tl.addshape("sprites/fundos/fundo_2.gif")
bgpic.shape("sprites/fundos/fundo_2.gif") bgpic.shape("sprites/fundos/fundo_2.gif")
@ -220,16 +254,20 @@ def pinto_acha_arma() -> None:
cobra.showturtle() cobra.showturtle()
cobra.goto(0, 0) cobra.goto(0, 0)
falas(cobra, "Eu achei você!") falas(cobra, "Eu achei você!", tempo = 1.8)
cobra.goto(-352, 0) cobra.goto(-352, 0)
pause(2) pause(2)
terminou = "sim" terminou = "sim"
if terminou == "sim": if terminou == "sim":
return return "Finalizou cena"
else:
return "Nao conseguiu finalizar a cena"
def pinto_mata_cobra() -> None: def pinto_mata_cobra() -> str:
""" """
Roteiro da cena 4:
O pinto com a sua arma chega na nova sala da masmorra e fica mirando para a porta esperando a cobra. O pinto com a sua arma chega na nova sala da masmorra e fica mirando para a porta esperando a cobra.
"Daqui não tem como errar..." - Diz o pinto. "Daqui não tem como errar..." - Diz o pinto.
A cobra chega na sala indo em direção ao pinto. "Vou te alcançar!" Diz ela. A cobra chega na sala indo em direção ao pinto. "Vou te alcançar!" Diz ela.
@ -239,8 +277,8 @@ def pinto_mata_cobra() -> None:
"Vou voltar a explorar essa masmorra legal." Diz o pinto. "Vou voltar a explorar essa masmorra legal." Diz o pinto.
Ele sai da cena. Ele sai da cena.
""" """
terminou = "não"
terminou = "não"
tl.addshape("sprites/fundos/fundo_4.gif") tl.addshape("sprites/fundos/fundo_4.gif")
bgpic.shape("sprites/fundos/fundo_4.gif") bgpic.shape("sprites/fundos/fundo_4.gif")
@ -251,6 +289,7 @@ def pinto_mata_cobra() -> None:
pinto.hideturtle() pinto.hideturtle()
pinto.goto(290, -123) pinto.goto(290, -123)
pinto.showturtle() pinto.showturtle()
pinto.goto(-134, -121) pinto.goto(-134, -121)
tl.addshape("sprites/personagens/pinto_flamer_.gif") tl.addshape("sprites/personagens/pinto_flamer_.gif")
@ -263,14 +302,15 @@ def pinto_mata_cobra() -> None:
cobra.hideturtle() cobra.hideturtle()
cobra.goto(290, -123) cobra.goto(290, -123)
cobra.showturtle() cobra.showturtle()
cobra.goto(150, -121) cobra.goto(150, -121)
falas(cobra, "Vou te pegar!", tempo=1.5) falas(cobra, "Vou te pegar!", tempo = 1.5)
cobra.goto(5, -121) cobra.goto(5, -121)
falas(pinto, "Só que não!", tempo=1.5) falas(pinto, "Só que não!", tempo = 1.5)
tl.addshape("sprites/objetos/fogo.gif") tl.addshape("sprites/objetos/fogo.gif")
fogo.shape("sprites/objetos/fogo.gif") fogo.shape("sprites/objetos/fogo.gif")
@ -278,7 +318,7 @@ def pinto_mata_cobra() -> None:
fogo.goto(-50, -121) fogo.goto(-50, -121)
fogo.showturtle() fogo.showturtle()
falas(cobra, "AHHHHHHHHHHHHH!", tempo=1) falas(cobra, "AHHHHHHHHHHHHH!", tempo = 1)
pause(1.5) pause(1.5)
@ -287,8 +327,8 @@ def pinto_mata_cobra() -> None:
fogo.hideturtle() fogo.hideturtle()
falas(pinto, 'Parece que agora eu não\nsou o "pequeno pinto", né?') falas(pinto, 'Parece que agora eu não\nsou o "pequeno pinto", né?', tempo = 4.5)
falas(pinto, "Vou voltar a explorar essa masmorra legal 😁.") falas(pinto, "Vou voltar a explorar essa masmorra maneira.")
tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/pinto_.gif")
pinto.shape("sprites/personagens/pinto_.gif") pinto.shape("sprites/personagens/pinto_.gif")
@ -306,11 +346,17 @@ def pinto_mata_cobra() -> None:
terminou = "sim" terminou = "sim"
if terminou == "sim": if terminou == "sim":
return return "Finalizou cena"
else:
return "Nao conseguiu finalizar a cena"
def main() -> None: def main() -> None:
"""...main function duh""" """
scene_num = int(input(main_menu)) Funcao main que chama as funcoes de cada cena da animacao
"""
scene_num = int(input(main_menu)) # input para saber qual cena ver
while scene_num != 6: while scene_num != 6:
if scene_num == 1: if scene_num == 1:
pinto_acha_cobra() pinto_acha_cobra()
@ -320,28 +366,41 @@ def main() -> None:
pinto_acha_arma() pinto_acha_arma()
elif scene_num == 4: elif scene_num == 4:
pinto_mata_cobra() pinto_mata_cobra()
elif scene_num == 5: # adicionado para verificar cenas da animacao sem pausa
pinto_acha_cobra()
pinto_foge_cobra()
pinto_acha_arma()
pinto_mata_cobra()
else: else:
print("Cena não disponível") print("Cena nao disponivel")
scene_num = int(input(main_menu)) scene_num = int(input(main_menu))
exit() # sair do programa caso escolha a opcao 6
if __name__ == "__main__": if __name__ == "__main__":
# spawna a tela com suas config
tl.setup(600,600,None,None) #spawna a tela tl.setup(600,600,None,None)
tl.bgcolor("black") tl.bgcolor("black")
tl.title("A Lenda de Javi, O Grande pinto") tl.title("A Lenda de Javi, O Grande pinto")
bgpic = tl.Turtle() #coloca a tartaruga principal de desenho # Variaveis usadas para definir fundos, personagens, objetos e falas
bgpic = tl.Turtle()
bgpic.up() bgpic.up()
pinto = tl.Turtle(visible=False) pinto = tl.Turtle(visible=False)
pinto.up() pinto.up()
cobra = tl.Turtle(visible=False) cobra = tl.Turtle(visible=False)
cobra.up() cobra.up()
fogo = tl.Turtle(visible=False) fogo = tl.Turtle(visible=False)
fogo.up() fogo.up()
lanca_chamas = tl.Turtle(visible=False) lanca_chamas = tl.Turtle(visible=False)
lanca_chamas.up() lanca_chamas.up()
@ -350,6 +409,8 @@ if __name__ == "__main__":
fala.up() fala.up()
main() main() #chamando funcao principal
tl.mainloop()
tl.mainloop()

View File

@ -1,12 +1,13 @@
main_menu = """ main_menu = """
Animações de Guilherme Aleixo, Kaio Henrique, Brasilicio Henrique Animacoes de Guilherme Aleixo, Kaio Henrique, Brasilicio Henrique
Cenas: Cenas:
1. Pinto acha a cobra 1. Pinto acha a cobra
2. Pinto foge da cobra 2. Pinto foge da cobra
3. Pinto acha uma arma 3. Pinto acha uma arma
4. Pinto mata a cobra 4. Pinto mata a cobra
5. Ver todas cenas acima em sequencia
6. Sair 6. Sair
Escolha o número da cena: """ Escolha o numero da cena: """