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.
Pergunta
luislima
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
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.