Compare commits
No commits in common. "ccb25dafb029870d84a54be60b98ecbfd222cfa2" and "5d166e8f9f26abbb04adcb1b1894e758d963d9b4" have entirely different histories.
ccb25dafb0
...
5d166e8f9f
30
falas.txt
30
falas.txt
|
@ -1,30 +0,0 @@
|
||||||
CENA pinto_acha_cobra
|
|
||||||
P Eita, um baú totalmente estranho no meio \ndessa masmorra muito perigosa.
|
|
||||||
P Baús são legais. Com certeza deve ter \nalgo legal dentro. Vou ver o que tem nele..
|
|
||||||
P Vixe, uma cobra!
|
|
||||||
C Tenha calma pequeno pinto. \nEu não sou uma cobra má.
|
|
||||||
P Por que eu deveria acreditar em você?
|
|
||||||
C Porque o meu nome é Python! Cobras \ncom esse nome são confiáveis...
|
|
||||||
P Tipo aquela linguagem \nde programação?!?!
|
|
||||||
C Isso mesmo!
|
|
||||||
P Eu não quero \nfazer programa!!!
|
|
||||||
C Volte aqui pintinho, eu \nnão vou fazer você programar!
|
|
||||||
CENA pinto_acha_cobra END
|
|
||||||
|
|
||||||
CENA pinto_foge_cobra
|
|
||||||
P Ainda bem que eu já passei por aqui!
|
|
||||||
C Que lugar estranho! \nNo baú era melhor.
|
|
||||||
C Não sei para onde esse pinto foi...
|
|
||||||
CENA pinto_foge_cobra END
|
|
||||||
|
|
||||||
CENA pinto_acha_arma
|
|
||||||
P Nossa, outro baú muito perigoso \nnessa masmorra. Vou abrir!
|
|
||||||
P Isso com certeza vai servir!
|
|
||||||
C Eu achei você!
|
|
||||||
CENA pinto_acha_arma END
|
|
||||||
|
|
||||||
CENA pinto_mata_cobra
|
|
||||||
P Daqui não tem como errar...
|
|
||||||
C Vou te alcançar!
|
|
||||||
P Parece que agora eu não \nsou o "pequeno pinto", né?
|
|
||||||
P Vou voltar a explorar essa masmorra maneira
|
|
97
main.py
97
main.py
|
@ -1,49 +1,12 @@
|
||||||
"""
|
"""
|
||||||
module docs
|
module docs
|
||||||
"""
|
"""
|
||||||
import re
|
|
||||||
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
|
||||||
|
|
||||||
def ler_falas(file: str) -> dict[str: list[str]]:
|
|
||||||
pattern_inicio: str = r"CENA ([\w ]+)\s?"
|
|
||||||
pattern_fim: str = r"CENA ([\w ]+) END\s?"
|
|
||||||
|
|
||||||
falas = dict()
|
|
||||||
|
|
||||||
with open(file, "r", encoding="utf-8") as arquivo:
|
|
||||||
atual = ""
|
|
||||||
lendo = True
|
|
||||||
|
|
||||||
|
|
||||||
linha = arquivo.readline()
|
|
||||||
while linha != "":
|
|
||||||
|
|
||||||
inicio = re.search(pattern_inicio, linha)
|
|
||||||
fim = re.search(pattern_fim, linha)
|
|
||||||
|
|
||||||
if inicio:
|
|
||||||
atual = inicio.group()[5:-1]
|
|
||||||
linha = arquivo.readline()
|
|
||||||
lendo = True
|
|
||||||
continue
|
|
||||||
elif fim:
|
|
||||||
lendo = False
|
|
||||||
continue
|
|
||||||
if lendo == False:
|
|
||||||
linha = arquivo.readline()
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
if falas.get(atual) == None:
|
|
||||||
falas[atual] = []
|
|
||||||
linha = linha.replace("\\n", "\n")
|
|
||||||
falas[atual].append((linha[0], linha[2:-1]))
|
|
||||||
linha = arquivo.readline()
|
|
||||||
return falas
|
|
||||||
|
|
||||||
def lerp(inicial: tl.Vec2D, final: tl.Vec2D, t: float) -> tl.Vec2D:
|
def lerp(inicial: tl.Vec2D, final: tl.Vec2D, t: float) -> tl.Vec2D:
|
||||||
return inicial + (final - inicial) * t
|
return inicial + (final - inicial) * t
|
||||||
|
|
||||||
|
@ -72,14 +35,6 @@ def falas(personagem: tl.Turtle, text: str, tempo: float = 3) -> None:
|
||||||
fala.undo()
|
fala.undo()
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
def falar_do_roteiro(roteiro: list[tuple[str, str]], index: int, tempo: int = 3):
|
|
||||||
if roteiro[index][0] == "P":
|
|
||||||
falas(pinto, roteiro[index][1], tempo)
|
|
||||||
elif roteiro[index][0] == "C":
|
|
||||||
falas(cobra, roteiro[index][1], tempo)
|
|
||||||
return index + 1
|
|
||||||
|
|
||||||
|
|
||||||
def pinto_acha_cobra() -> str:
|
def pinto_acha_cobra() -> str:
|
||||||
"""
|
"""
|
||||||
Roteiro da cena 1:
|
Roteiro da cena 1:
|
||||||
|
@ -98,9 +53,6 @@ def pinto_acha_cobra() -> str:
|
||||||
Ambos saem de cena.
|
Ambos saem de cena.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
cena = "pinto_acha_cobra"
|
|
||||||
index = 0
|
|
||||||
|
|
||||||
terminou = "não"
|
terminou = "não"
|
||||||
|
|
||||||
tl.addshape("sprites/fundos/fundo_1_bau_fechado.gif")
|
tl.addshape("sprites/fundos/fundo_1_bau_fechado.gif")
|
||||||
|
@ -113,8 +65,8 @@ def pinto_acha_cobra() -> str:
|
||||||
pinto.showturtle()
|
pinto.showturtle()
|
||||||
|
|
||||||
pinto.goto(-132, -89)
|
pinto.goto(-132, -89)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Eita, um baú totalmente estranho no meio\ndessa masmorra muito perigosa.")
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
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)
|
||||||
|
|
||||||
|
@ -132,18 +84,18 @@ def pinto_acha_cobra() -> str:
|
||||||
cobra.showturtle()
|
cobra.showturtle()
|
||||||
|
|
||||||
pinto.goto(-160, -132)
|
pinto.goto(-160, -132)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Vixe, uma cobra!")
|
||||||
|
|
||||||
cobra.goto(-3, -62)
|
cobra.goto(-3, -62)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(cobra, "Tenha calma pequeno pinto.\nEu não sou uma cobra má.")
|
||||||
|
|
||||||
pinto.goto(-242, -164)
|
pinto.goto(-242, -164)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Por que eu deveria acreditar em você?")
|
||||||
|
|
||||||
cobra.goto(-55, -108)
|
cobra.goto(-55, -108)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index, tempo = 4)
|
falas(cobra, "Porque o meu nome é Python! Cobras\ncom esse nome são confiáveis...", tempo = 4)
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Tipo aquela linguagem\nde programação?!?!")
|
||||||
|
|
||||||
falas(cobra, "Isso mesmo!", tempo = 1.5)
|
falas(cobra, "Isso mesmo!", tempo = 1.5)
|
||||||
|
|
||||||
|
@ -159,14 +111,14 @@ def pinto_acha_cobra() -> str:
|
||||||
|
|
||||||
pinto.shape("sprites/personagens/_pinto.gif")
|
pinto.shape("sprites/personagens/_pinto.gif")
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Eu não quero\nfazer programa!!!")
|
||||||
|
|
||||||
pause(0.5)
|
pause(0.5)
|
||||||
|
|
||||||
pinto.goto(-281, -89)
|
pinto.goto(-281, -89)
|
||||||
pinto.hideturtle()
|
pinto.hideturtle()
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(cobra, "Volte aqui pintinho, eu\nnão vou fazer você programar!")
|
||||||
cobra.goto(-281, -89)
|
cobra.goto(-281, -89)
|
||||||
cobra.hideturtle()
|
cobra.hideturtle()
|
||||||
|
|
||||||
|
@ -191,9 +143,6 @@ def pinto_foge_cobra() -> str:
|
||||||
Ambos fora de cena.
|
Ambos fora de cena.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
cena = "pinto_foge_cobra"
|
|
||||||
index = 0
|
|
||||||
|
|
||||||
terminou = "não"
|
terminou = "não"
|
||||||
|
|
||||||
tl.addshape("sprites/fundos/fundo_2.gif")
|
tl.addshape("sprites/fundos/fundo_2.gif")
|
||||||
|
@ -206,7 +155,7 @@ def pinto_foge_cobra() -> str:
|
||||||
pinto.showturtle()
|
pinto.showturtle()
|
||||||
|
|
||||||
pinto.goto(2, -28)
|
pinto.goto(2, -28)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
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")
|
||||||
|
@ -221,7 +170,7 @@ def pinto_foge_cobra() -> str:
|
||||||
cobra.showturtle()
|
cobra.showturtle()
|
||||||
|
|
||||||
cobra.goto(2, -28)
|
cobra.goto(2, -28)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(cobra, "Que lugar estranho!\nNo baú era melhor.")
|
||||||
|
|
||||||
tl.addshape("sprites/personagens/cobra_.gif")
|
tl.addshape("sprites/personagens/cobra_.gif")
|
||||||
|
|
||||||
|
@ -233,7 +182,7 @@ def pinto_foge_cobra() -> str:
|
||||||
pause(0.15)
|
pause(0.15)
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(cobra, "Não sei para onde esse pinto foi...")
|
||||||
|
|
||||||
cobra.shape("sprites/personagens/cobra_.gif")
|
cobra.shape("sprites/personagens/cobra_.gif")
|
||||||
|
|
||||||
|
@ -260,9 +209,6 @@ def pinto_acha_arma() -> str:
|
||||||
A cobra segue o pinto. Todos saem de cena.
|
A cobra segue o pinto. Todos saem de cena.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
cena = "pinto_acha_arma"
|
|
||||||
index = 0
|
|
||||||
|
|
||||||
terminou = "não"
|
terminou = "não"
|
||||||
|
|
||||||
tl.addshape("sprites/fundos/fundo_3_bau_fechado.gif")
|
tl.addshape("sprites/fundos/fundo_3_bau_fechado.gif")
|
||||||
|
@ -276,7 +222,7 @@ def pinto_acha_arma() -> str:
|
||||||
pinto.showturtle()
|
pinto.showturtle()
|
||||||
pinto.goto(0, -16)
|
pinto.goto(0, -16)
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Nossa, outro baú muito perigoso\nnessa masmorra. Vou abrir!")
|
||||||
|
|
||||||
|
|
||||||
tl.addshape("sprites/fundos/fundo_3_bau_aberto.gif")
|
tl.addshape("sprites/fundos/fundo_3_bau_aberto.gif")
|
||||||
|
@ -288,7 +234,7 @@ def pinto_acha_arma() -> str:
|
||||||
lanca_chamas.goto(0, 64)
|
lanca_chamas.goto(0, 64)
|
||||||
|
|
||||||
lanca_chamas.showturtle()
|
lanca_chamas.showturtle()
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Isso com certeza vai servir!")
|
||||||
lanca_chamas.hideturtle()
|
lanca_chamas.hideturtle()
|
||||||
|
|
||||||
tl.addshape("sprites/personagens/_pinto_flamer.gif")
|
tl.addshape("sprites/personagens/_pinto_flamer.gif")
|
||||||
|
@ -321,7 +267,7 @@ def pinto_acha_arma() -> str:
|
||||||
cobra.showturtle()
|
cobra.showturtle()
|
||||||
|
|
||||||
cobra.goto(0, 0)
|
cobra.goto(0, 0)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(cobra, "Eu achei você!", tempo = 1.8)
|
||||||
cobra.goto(-352, 0)
|
cobra.goto(-352, 0)
|
||||||
|
|
||||||
pause(2)
|
pause(2)
|
||||||
|
@ -345,9 +291,6 @@ def pinto_mata_cobra() -> str:
|
||||||
Ele sai da cena.
|
Ele sai da cena.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
cena = "pinto_mata_cobra"
|
|
||||||
index = 0
|
|
||||||
|
|
||||||
terminou = "não"
|
terminou = "não"
|
||||||
|
|
||||||
tl.addshape("sprites/fundos/fundo_4.gif")
|
tl.addshape("sprites/fundos/fundo_4.gif")
|
||||||
|
@ -365,7 +308,7 @@ def pinto_mata_cobra() -> str:
|
||||||
tl.addshape("sprites/personagens/pinto_flamer_.gif")
|
tl.addshape("sprites/personagens/pinto_flamer_.gif")
|
||||||
pinto.shape("sprites/personagens/pinto_flamer_.gif")
|
pinto.shape("sprites/personagens/pinto_flamer_.gif")
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
falas(pinto, "Daqui não tem como errar...")
|
||||||
|
|
||||||
tl.addshape("sprites/personagens/_cobra.gif")
|
tl.addshape("sprites/personagens/_cobra.gif")
|
||||||
cobra.shape("sprites/personagens/_cobra.gif")
|
cobra.shape("sprites/personagens/_cobra.gif")
|
||||||
|
@ -388,7 +331,7 @@ def pinto_mata_cobra() -> str:
|
||||||
fogo.goto(-50, -121)
|
fogo.goto(-50, -121)
|
||||||
fogo.showturtle()
|
fogo.showturtle()
|
||||||
|
|
||||||
index = falar_do_roteiro(falas_dict[cena], index, tempo = 1)
|
falas(cobra, "AHHHHHHHHHHHHH!", tempo = 1)
|
||||||
|
|
||||||
pause(1.5)
|
pause(1.5)
|
||||||
|
|
||||||
|
@ -398,7 +341,7 @@ def pinto_mata_cobra() -> str:
|
||||||
fogo.hideturtle()
|
fogo.hideturtle()
|
||||||
|
|
||||||
falas(pinto, 'Parece que agora eu não\nsou o "pequeno pinto", né?', tempo = 4.5)
|
falas(pinto, 'Parece que agora eu não\nsou o "pequeno pinto", né?', tempo = 4.5)
|
||||||
index = falar_do_roteiro(falas_dict[cena], index)
|
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")
|
||||||
|
@ -478,11 +421,9 @@ if __name__ == "__main__":
|
||||||
fala = tl.Turtle(visible=False)
|
fala = tl.Turtle(visible=False)
|
||||||
fala.up()
|
fala.up()
|
||||||
|
|
||||||
falas_dict = ler_falas("falas.txt")
|
|
||||||
|
|
||||||
index = 0
|
|
||||||
|
|
||||||
main() #chamando funcao principal
|
main() #chamando funcao principal
|
||||||
|
|
||||||
|
|
||||||
tl.mainloop()
|
tl.mainloop()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue