Ir para conteúdo
Fórum Script Brasil
  • 0

jogo do mago


luislima

Pergunta

Boas ,

estou a desenvolver um projecto para um disciplina da minha escola

tenho que fazer o jogo do mago , a versão Utilizador vs PC e a PC vs utilizador

comecei por fazer através de código apenas na consola e depois decidi fazer com um ambiente gráfico.

deixo aqui o meu código todo que tenho

from Tkinter import *
from random import *

tentativas_utilizador=0
tentativas_pc=0



def sairButtonPressed():
    exit()
    
def CvsHButtonPressed():
    num_max=100
    num_min=1
    valor=randint(num_min,num_max)

    def attemptButtonPressed():
        global tentativas_utilizador
        tentativas_utilizador = tentativas_utilizador +1

        if (valor>int(entryLabel.get())):
            varMiddle.set("O numero é maior")
            num_max = valor            
        elif (valor<int(entryLabel.get())):
            varMiddle.set("O numero é menor")
            num_min = valor            
        else:
            varMiddle.set("Parabéns, acertou! Precisou de "+ str(tentativas_utilizador)+" tentativas")

    
    #Label do meio com pergunta
    numeroLabel = Label(tkBottomFrame, text="Numero a adivinhar?")
    numeroLabel.pack( side = LEFT)
    #Caixa de texto
    entryLabel = Entry(tkBottomFrame, bd =5)
    entryLabel.pack(side = LEFT)   
    #Botao tentativa de numero 
    numberButton = Button(tkBottomFrame, text="Tentar!", command=attemptButtonPressed)
    numberButton.pack( side = LEFT)


###TUDO CORRECTO ATE AQUI


def HvsCButtonPressed():
    num_max=100
    num_min=1       

    def menor():
        global tentativas_pc      
        tentativas_pc = randint(num_min,num_max)
        varTentativa.set(tentativas_pc)
        

    def maior():
        global tentativas_pc      
        tentativas_pc = randint(num_min,num_max)
        varTentativa.set(tentativas_pc)

    def certo():
        numeroLabel = Label(tkRodapeFrame, text="Parabens!")
        numeroLabel.pack( side = LEFT)
        
        
        
        
    def okButtonPressed():
       
        #Botao menor  
        menorButton = Button(tkRodapeFrame, text="<", command=menor)
        menorButton.pack( side = LEFT)
        #Botao maior  
        maiorButton = Button(tkRodapeFrame, text=">", command=maior)
        maiorButton.pack( side = LEFT)
        #Botao Certo  
        certoButton = Button(tkRodapeFrame, text="CERTO!", command=certo)
        certoButton.pack( side = LEFT)
        global tentativas_pc
        tentativas_pc = randint(num_min,num_max)
        varTentativa.set(tentativas_pc)

    #Label do meio com pergunta
    numeroLabel = Label(tkBottomFrame, text="Qual o numero para o computador adivinhar?")
    numeroLabel.pack( side = LEFT)
    #Caixa de texto
    entryLabel = Entry(tkBottomFrame, bd =5)
    entryLabel.pack(side = LEFT)
    #Botao ok  
    okButton = Button(tkBottomFrame, text="OK!", command=okButtonPressed)
    okButton.pack( side = LEFT)


###CORRECTO A PARTIR DAQUI

root = Tk()

#Frame de cima
tkTopFrame = Frame(root)
tkTopFrame.pack()

#Frame do meio
tkMiddleFrame = Frame(root)
tkMiddleFrame.pack()

#Frame de baixo
tkBottomFrame = Frame(root)
tkBottomFrame.pack()

#Frame de "Rodape"
tkRodapeFrame = Frame(root)
tkRodapeFrame.pack()

#Label da frame de cima
varTop = StringVar()
topFrameLabel = Label( tkTopFrame, textvariable=varTop)
topFrameLabel.pack()
varTop.set("Bem-Vindo! \n Mago")

#Label da frame do meio
varMiddle = StringVar()
middleFrameLabel = Label( tkMiddleFrame, textvariable=varMiddle)
middleFrameLabel.pack()
varMiddle.set("Aguardo tentativa..")

#Label do rodape
varTentativa = IntVar()
varTentativa.set("")
rodapeLabel = Label(tkRodapeFrame, textvariable=varTentativa)
rodapeLabel.pack( side = LEFT)
        
#Label do meio com pergunta
nameLabel = Label(tkTopFrame, text="Que versão pretende executar?")
nameLabel.pack( side = LEFT)

#Botao sair
sairButton = Button(tkTopFrame, text="Sair!", command=sairButtonPressed)
sairButton.pack( side = RIGHT)

#Botao Utilizador vs Computador
nameButton = Button(tkTopFrame, text="Utilizador vs Computador", command=HvsCButtonPressed)
nameButton.pack( side = RIGHT)

#Botao Computador vs Utilizador
nameButton = Button(tkTopFrame, text="Computador vs Utilizador", command=CvsHButtonPressed)
nameButton.pack( side = RIGHT)

root.mainloop()

agora a minha duvida!a versão PC vs Utilizador já está OK!

o problema está na outra versão:

o pc gera um random e se não acerta no numero eu carrego nos botoes < ou > e ao carregar neles queria actualizar os valores de num_min e num_max.

tambem quero que ao carregar em CERTO ele diga Parabéns e o numero de tentativas que o Pc usou.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...