I'm doing a college job, and I'm having a hard time messing with Frames
, more precisely I need to build the graph below.
In the code, you walk through it from EAST, WEST, NORTH and SOUTH commands, but for example when I am at 3 and I give > EAST , it is going to point to 9 and I do not know the reason and I can not find the error in the code.
fromtkinterimport*classShakespeare:cont1=0pontos=0comando=''quarto=0flag7=0dvivo=0def__init__(self):self.c=Frame(w,width=500,height=500)self.c.pack()self.quarto1()defsaiu_do_sete(self):if(Shakespeare.flag7==1):self.msg=Label(self.c,text='Háumemblemanaparede,rasgado,comoseofogohouvessearrancadooolhodeumanimal')Shakespeare.flag7=0defquarto1(self):self.c.destroy()self.c=Frame(w,width=500,height=500)self.c.pack()self.saiu_do_sete()Shakespeare.quarto=1Shakespeare.cont1+=1self.msg=Label(self.c,text='Jáénoiteevocêfinalmenteencontraabrigoemumacavernaescura''efria.Apósexplorá-laporalgumtempo,vocêencontraumcaldeirãofumegando.Aoestalodeumtrovão,trêsbruxassurgemdiantedevocê.')self.msg.pack()if(Shakespeare.cont1==1):self.msg=Label(self.c,text='Asbruxasfalameuumasóvoz:\n\n''Mortal,teconvocamos,deixedeladoomedo!\n''Apressa-teemtuamissão,nãosedehesitante.\n''Acheolhosdesalamandraesapo,umdedo\n''Eosjogueaquinessecaldeirãofumegante!\n\n''Emais:asasdacorujaqueaquiousavavoar,\n''PernadelagartoepelodegatoAngara.\n''Essascoisasprecisamosparaofeitiçolançar!\n''Rápido,nostragaemalnenhumteabaterá\n\n''Poisagoranosdeixeeváembora.\n''Nadamaistemosadizernomomento\n''Anãoserteavisarqueláfora\n''Umdragãopodeseroteutormento!')self.msg.pack()else:Shakespeare.pontos+=1self.msg=Label(self.c,text='Asbruxasestãodiantedevocê,comolhosarregalados,esperandoquelhesdêalgo.''Ossonsdanoiteparecemlheavisarquenãoéseguronestelugarcontinuar.')self.msg.pack()self.msg=Label(self.c,text='VocêpodeiraoNORTE,SUL,LESTEouOESTE')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()