2
I’m doing a college paper, and I’m having a hard time messing with Frames
, more precisely I need to construct the graph below.
In the code, you walk through it from commands EAST, WEST, NORTH and SOUTH, but for example when I’m on point 3 and give command EAST, he’s going to the point 9 and I don’t know why and I can’t find the error in the code.
from tkinter import *
class Shakespeare:
cont1=0
pontos=0
comando=''
quarto=0
flag7=0
dvivo=0
def __init__(self):
self.c=Frame(w, width=500, height=500)
self.c.pack()
self.quarto1()
def saiu_do_sete(self):
if(Shakespeare.flag7==1):
self.msg = Label(self.c, text='Há um emblema na parede, rasgado, como se o fogo houvesse arrancado o olho de um animal')
Shakespeare.flag7=0
def quarto1(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
self.saiu_do_sete()
Shakespeare.quarto=1
Shakespeare.cont1+=1
self.msg =Label(self.c,text='Já é noite e você finalmente encontra abrigo em uma caverna escura'
' e fria. Após explorá-la por algum tempo, você encontra um caldeirão fumegando. Ao estalo de um trovão, três bruxas surgem diante de você.')
self.msg.pack()
if(Shakespeare.cont1==1):
self.msg =Label(self.c,text='As bruxas falam eu uma só voz: \n\n'
'Mortal, te convocamos, deixe de lado o medo!\n'
'Apressa-te em tua missão, não sede hesitante.\n'
'Ache olhos de salamandra e sapo, um dedo\n'
'E os jogue aqui nesse caldeirão fumegante!\n\n'
'E mais: asas da coruja que aqui ousava voar,\n'
'Perna de lagarto e pelo de gato Angara.\n'
'Essas coisas precisamos para o feitiço lançar!\n'
'Rápido, nos traga e mal nenhum te abaterá\n\n'
'Pois agora nos deixe e vá embora.\n'
'Nada mais temos a dizer no momento\n'
'A não ser te avisar que lá fora\n'
'Um dragão pode ser o teu tormento!')
self.msg.pack()
else:
Shakespeare.pontos+=1
self.msg = Label(self.c, text='As bruxas estão diante de você, com olhos arregalados, esperando que lhes dê algo. '
'Os sons da noite parecem lhe avisar que não é seguro neste lugar continuar.')
self.msg.pack()
self.msg= Label(self.c, text='Você pode ir ao NORTE, SUL, LESTE ou OESTE')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def ok(self):
Shakespeare.comando=self.e.get()
if(Shakespeare.quarto==7):
Shakespeare.flag7=1
if Shakespeare.comando=="NORTE" or Shakespeare.comando=="SUL" or Shakespeare.comando=="LESTE" or Shakespeare.comando=="OESTE":
self.ir_para(Shakespeare.comando)
def ir_para(self,comando):
print(Shakespeare.quarto, comando)
if(Shakespeare.quarto==1 and comando=="NORTE"):
self.quarto3()
if(Shakespeare.quarto==1 and comando=="SUL"):
self.quarto8()
if(Shakespeare.quarto==1 and comando=="OESTE"):
self.quarto5()
if(Shakespeare.quarto==1 and comando=="LESTE"):
self.quarto6()
if(Shakespeare.quarto==2 and comando=="OESTE"):
self.quarto2()
if(Shakespeare.quarto==2 and comando=="SUL"):
self.quarto2()
if(Shakespeare.quarto==2 and comando=="LESTE"):
self.quarto3()
if(Shakespeare.quarto==3 and comando=="SUL"):
self.quarto1()
if(Shakespeare.quarto==3 and comando=="LESTE"):
self.quarto4()
if(Shakespeare.quarto==3 and comando=="OESTE"):
self.quarto2()
if(Shakespeare.quarto==4 and comando=="LESTE"):
self.quarto6()
if(Shakespeare.quarto==4 and comando=="SUL"):
self.quarto6()
if(Shakespeare.quarto==5 and comando=="LESTE"):
self.quarto1()
if(Shakespeare.quarto==5 and comando=="OESTE"):
self.quarto7()
if(Shakespeare.quarto==6 and comando=="LESTE"):
self.quarto9()
if(Shakespeare.quarto==6 and comando=="OESTE"):
self.quarto1()
if(Shakespeare.quarto==6 and comando=="NORTE"):
self.quarto4()
if(Shakespeare.quarto==6 and comando=="SUL"):
self.quarto8()
if(Shakespeare.quarto==7 and comando=="NORTE"):
self.quarto2()
if(Shakespeare.quarto==7 and comando=="OESTE"):
self.quarto5()
if(Shakespeare.quarto==8 and comando=="LESTE"):
self.quarto6()
if(Shakespeare.quarto==9 and comando=="NORTE"):
self.quarto6()
if(Shakespeare.quarto==9 and comando=="OESTE"):
self.quarto10()
if(Shakespeare.quarto==10 and comando=="LESTE"):
self.quarto9()
def quarto2(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=2
Shakespeare.pontos+=1
self.msg = Label(self.c, text='Q2 Você voltou no tempo... Parece estar em um castelo medieval na Europa no século XIV.\n\n'
'Há brasões e emblemas nas paredes cheias de mofo. Em um dos emblemas, você vê o que parece ser um animal no meio do fogo.'
' Abaixo uma inscrição diz "vulcani" e, mais abaixo, "Paracelso". Por um momento, o animal parece estar olhando em seus olhos.\n'
'Você pode ir ao SUL, LESTE ou OESTE')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto3(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=3
Shakespeare.pontos+=1
self.msg = Label(self.c, text='Q3 Um mundo, um paradigma, a sociedade, cachorros, aviões, mortes, cachorros-quente, viagens, alucinógenos\n'
'Você pode ir ao SUL, LESTE ou OESTE ')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto4(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=4
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q4 Ventos fortes, ventos fracos, ventos, ventanias, vendavais, vendas\n'
'Você pode ir ao SUL ou LESTE')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto5(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=5
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q5 Hoje, mas não amanhã, somente hoje, eu irei, mas somente se não chover, porque senão não fará sol, então'
' haveria de ser amanhã, mas hoje será o que ontem não foi\n'
'Você pode ir ao LESTE ou OESTE ')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto6(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=6
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q6 O demônio, números, bodes, bandeiras esquisitas, Guiné e a socideade, tudo a mesma coisa, só que diferente\n'
'Você pode ir ao NORTE, SUL, LESTE ou OESTE ')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto7(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=7
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q7 Você se encontra em um lugar onde o grupo Monty Python está encenando o "Sapo Crocante".'
' Você olha para um confeiteiro que logo lhe diz: "Se eu tirar os ossos, eles não vão ser mais crocantes,'
' né?" Você então vê uma caixa de chocolate onde está escrito "Sapos Crocantes". Ela parece conter uma dúzia'
' de sapos inteiros, cuidadosamente cobertos pelo melhor chocolate.\n'
'Você pode ir ao NORTE ou OESTE ')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto8(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=8
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q8 Uma porta, somente uma porta que pode ser aberta, irei morrer agora? Ou será só o reinício dessa história?\n'
'Você pode ir ao LESTE')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto9(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=9
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q9\n'
'Você pode ir ao NORTE ou OESTE ')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
def quarto10(self):
self.c.destroy()
self.c=Frame(w, width=500, height=500)
self.c.pack()
Shakespeare.quarto=10
Shakespeare.pontos+=1
self.msg = Label(self.c,text='Q10 Você está em uma cozinha. Você então vê, ao fundo, um cozinheiro colocando uma porção de atum em uma'
' panela. \nApesar de não ter certeza, parece haver uma espingarda ao lado do fogão. Há pelos brancos voando por todo lado,'
' enquanto o cozinheiro parece falar sozinho: "Impossível trabalhar com todos estes gatos aqui...\n'
'Você pode ir ao LESTE')
self.msg.pack()
self.e = Entry(self.c)
self.e.pack()
self.b=Button(self.c,text="OK",command=self.ok)
self.b.pack()
w=Tk()
app = Shakespeare()
w.mainloop()
Thank you so much, bro, really missed this mistake, vlw!!!
– Carlos Vicente