""" module docs """ import turtle as tl from time import sleep as pause from menus import main_menu def exibir_coordenadas(x: float, y: float) -> None: """Exibe as coordenadas de um clique do mouse.""" print(f"Coordenadas do clique: x={x:0.0f}, y={y:0.0f}") # Exibe as coordenadas na tela com o tl tl.penup() tl.goto(x, y) tl.pendown() tl.write(f"({x:0.0f}, {y:0.0f})", font=("Arial", 12, "normal")) tl.stamp() def falas(personagem: tl.Turtle, text: str, tempo: float = 3) -> None: fala.goto(personagem.pos()) fala.left(45) fala.fd(50) fala.color("white") fala.write(text,False,font=("arial",10,"normal")) pause(tempo) count = 0 while count < 4: fala.undo() count += 1 def habilita_clique() -> None: """Habilita o clique do mouse na tela. """ tela = tl.Screen() tela.onclick(exibir_coordenadas) def pinto_acha_cobra() -> None: """ 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. O pinto vai até o baú e tenta abrir ele. O baú abre e sai uma cobra de dentro. "Vixe, uma cobra!" - Diz o pinto se afastando do baú. "Tenha calma pequeno pinto. Eu não sou uma cobra má." - Diz a cobra saindo do baú. "Por que eu deveria acreditar em você?" - Diz o pinto se afastando. "Porque o meu nome é Python! Cobras com esse nome são confiáveis..." - Diz a cobra. "Tipo aquela linguagem de programação?" - Pergunta o pinto. "Isso mesmo!" - Responde a cobra. "Eu não quero fazer programa!!!" - Diz o pinto enquanto sai de cena "Volte aqui pintinho, eu não vou fazer você programar!" - Diz a acobra correndo atrás do pinto. Ambos saem de cena. """ terminou = "não" tl.addshape("sprites/fundos/fundo_1_bau_fechado.gif") tl.addshape("sprites/fundos/fundo_1_bau_aberto.gif") tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/_pinto.gif") tl.addshape("sprites/personagens/_cobra.gif") bgpic.shape("sprites/fundos/fundo_1_bau_fechado.gif") pinto.shape("sprites/personagens/pinto_.gif") cobra.shape("sprites/personagens/_cobra.gif") pinto.goto(-281,-89) pinto.showturtle() pinto.goto(-132,-89) 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.") pinto.goto(28,-89) pinto.goto(31,-16) pause(2) bgpic.shape("sprites/fundos/fundo_1_bau_aberto.gif") pause(1) cobra.goto(31,53) cobra.showturtle() pinto.goto(-160, -132) falas(pinto, "Vixe, uma cobra!") cobra.goto(-3, -62) falas(cobra, "Tenha calma pequeno pinto.\nEu não sou uma cobra má.") pinto.goto(-242, -164) falas(pinto, "Por que eu deveria acreditar em você?") cobra.goto(-75, -108) falas(cobra, "Porque o meu nome é Python! Cobras\ncom esse nome são confiáveis...") falas(pinto, "Tipo aquela linguagem\nde programação?") falas(cobra, "Isso mesmo!") falas(pinto, "Eu não quero\nfazer programa!!!") pinto.shape("sprites/personagens/_pinto.gif") pause(1) pinto.goto(-281,-89) pinto.hideturtle() falas(cobra, "Volte aqui pintinho, eu\nnão vou fazer você programar!") cobra.goto(-132,-89) cobra.hideturtle() def pinto_foge_cobra(): """ 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 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. Então ela vai para baixo. Ambos fora de cena. """ terminou = "não" tl.addshape("sprites/fundos/fundo_2.gif") tl.addshape("sprites/personagens/_pinto.gif") tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/_cobra.gif") tl.addshape("sprites/personagens/cobra_.gif") bgpic.shape("sprites/fundos/fundo_2.gif") pinto.shape("sprites/personagens/_pinto.gif") pinto.goto(286, -26) pinto.showturtle() pinto.goto(2, -28) falas(pinto, "Ainda bem que eu já passei por aqui") pinto.shape("sprites/personagens/pinto_.gif") pinto.goto(-1, 298) pinto.hideturtle() cobra.shape("sprites/personagens/_cobra.gif") cobra.goto(286, -26) cobra.showturtle() cobra.goto(2, -28) falas(cobra, "Que lugar estranho!\nNo baú era melhor.") cobra.shape("sprites/personagens/cobra_.gif") cobra.goto(1, -285) cobra.hideturtle() def pinto_acha_arma() -> None: """ 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ú. O pinto vai até o baú e após abrir ele, acha um lança-chamas. "Isso com certeza vai servir!" - Diz ele segurando a arma e indo para uma outra sala. O pinto na outra sala vai para a sala da esquerda. A cobra sai debaixo e fala - "Eu achei você!" - Depois ela vai para a sala. A cobra segue o pinto. Todos saem de cena. """ terminou = "não" tl.bgcolor("black") 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") tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/_pinto.gif") pinto.shape("sprites/personagens/pinto_.gif") pinto.hideturtle() pinto.goto(0, -352) pinto.showturtle() pinto.goto(0, -16) falas(pinto, "Nossa, outro baú muito perigoso\nnessa masmorra. Vou abrir!") bgpic.shape("sprites/fundos/fundo_3_bau_aberto.gif") tl.addshape("sprites/objetos/lancachamas.gif") lanca_chamas.shape("sprites/objetos/lancachamas.gif") lanca_chamas.goto(0, 64) lanca_chamas.showturtle() falas(pinto, "Isso com certeza vai servir!") lanca_chamas.hideturtle() tl.addshape("sprites/personagens/pinto_flamer_.gif") pinto.shape("sprites/personagens/pinto_flamer_.gif") pause(1) pinto.goto(0, -352) # OUTRA SALA ---------------------------------------------------------------------------------------- tl.addshape("sprites/fundos/fundo_2.gif") bgpic.shape("sprites/fundos/fundo_2.gif") pinto.hideturtle() pinto.goto(0, 352) pinto.showturtle() pinto.goto(0, 0) pinto.goto(-352, 0) tl.addshape("sprites/personagens/_cobra.gif") cobra.shape("sprites/personagens/_cobra.gif") cobra.hideturtle() cobra.goto(0, -352) cobra.showturtle() cobra.goto(0, 0) falas(cobra, "Eu achei você!") cobra.goto(-352, 0) pause(2) terminou = "sim" if terminou == "sim": return def pinto_mata_cobra() -> None: """ 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. A cobra chega na sala indo em direção ao pinto. "Vou te alcançar!" Diz ela. Com a cobra se aproximando do pinto. O pinto aperta o gatilho e sai uma rajada de fogo na cobra; ela morre cremada. "Parece que agora eu não sou o 'pequeno pinto', né?" Diz o pinto. O pinto deixa o lança chamas no chão. "Vou voltar a explorar essa masmorra legal." Diz o pinto. Ele sai da cena. """ terminou = "não" tl.addshape("sprites/fundos/fundo_4.gif") tl.addshape("sprites/personagens/pinto_.gif") tl.addshape("sprites/personagens/_pinto.gif") tl.addshape("sprites/personagens/pinto_flamer_.gif") tl.addshape("sprites/personagens/_pinto_flamer.gif") tl.addshape("sprites/personagens/_cobra.gif") tl.addshape("sprites/personagens/_cobra_burnt.gif") tl.addshape("sprites/objetos/fogo.gif") tl.addshape("sprites/objetos/lancachamas.gif") bgpic.shape("sprites/fundos/fundo_4.gif") pinto.shape("sprites/personagens/_pinto_flamer.gif") pinto.goto(290, -123) pinto.showturtle() pinto.goto(-134, -121) pinto.shape("sprites/personagens/pinto_flamer_.gif") falas(pinto, "Daqui não tem como errar...") cobra.shape("sprites/personagens/_cobra.gif") cobra.goto(290, -123) cobra.showturtle() cobra.goto(150, -121) falas(cobra, "Vou te pegar!", tempo=1.5) cobra.goto(5, -121) falas(pinto, "Só que não!", tempo=1.5) fogo.shape("sprites/objetos/fogo.gif") fogo.goto(-50, -121) fogo.sho(1) falas(cobra, "AHHHHHHHHHHHHH!", tempo=1) pause(1.5)(1.8) cobra.shape("sprites/personagens/_cobra_burnt.gif") fogo.hideturtle() falas(pinto, 'Parece que agora eu não\nsou o "pequeno pinto", né?') falas(pinto, "Vou voltar a explorar essa masmorra legal 😁.") pinto.shape("sprites/personagens/pinto_.gif") lanca_chamas.shape("sprites/objetos/lancachamas.gif") lanca_chamas.goto(-112, -131) lanca_chamas.showturtle() pinto.goto(-297, -112) pinto.hideturtle() pause(2) terminou = "sim" if terminou == "sim": return def main() -> None: """...main function duh""" scene_num = int(input(main_menu)) while scene_num != 6: if scene_num == 1: pinto_acha_cobra() elif scene_num == 2: pinto_foge_cobra() elif scene_num == 3: pinto_acha_arma() elif scene_num == 4: pinto_mata_cobra() else: print("Cena não disponível") scene_num = int(input(main_menu)) pass if __name__ == "__main__": habilita_clique() tl.setup(600,600,None,None) #spawna a tela tl.title("A Lenda de Javi, O Grande pinto") bgpic = tl.Turtle() #coloca a tartaruga principal de desenho bgpic.up() pinto = tl.Turtle(visible=False) pinto.up() cobra = tl.Turtle(visible=False) cobra.up() fogo = tl.Turtle(visible=False) fogo.up() lanca_chamas = tl.Turtle(visible=False) lanca_chamas.up() fala = tl.Turtle(visible=False) fala.up() main() tl.mainloop()