I created a code in Python to present a game of advection, numbers between 1 and 100. I wanted to implement this game in a graphical interface, using the Tkinter module. I had an idea, I created a code using tkinter, but after that I crashed. My question is, how to "merge" the two codes that were created into one, to create this graphical interface.
This part is what I used to create the box with the game presentation and the button to run using Tkinter.
from tkinter import *
import random
i = Tk()
i.title('Guess Game')
i.geometry("400x200")
texto = Label(i, text = "Bem-vindo ao Guess Game")
texto.pack()
texto = Label(i, text = "Você tem 10 chances de acertar o número que eu estou pensando.")
texto.pack()
texto = Label(i, text = "Trata-se de um valor entre 1 e 100. Então, vamos lá!")
texto.pack()
form = Entry(i, width=3)
form.pack()
b = Button(i, text ="Executar", fg= "green")
b.pack()
i.mainloop()
This part is already the code of the Game itself, created earlier.
import random
n = random.randrange(1, 101)
nrepete = []
estado1 = 7 # início
estado2 = 7
def Submeter(tentativa):
global estado2
if abs(n - palpite) == 1:
estado2 = 6 # fervendo
if abs(n - palpite) == 2 or abs(n - palpite) == 3:
estado2 = 5 # muito quente
if abs(n - palpite) >= 4 and abs(n - palpite) <= 6:
estado2 = 4 # quente
if abs(n - palpite) >= 7 and abs(n - palpite) <= 9:
estado2 = 3 # morno
if abs(n - palpite) >= 10 and abs(n - palpite) <= 15:
estado2 = 2 # frio
if abs(n - palpite) >= 16 and abs(n - palpite) <= 25:
estado2 = 1 # muito frio
if abs(n - palpite) >= 26:
estado2 = 0 # congelando
def FornecerPista():
if estado1 == 7:
if estado2 == 0:
print('Está congelando!')
if estado2 == 1:
print('Está muito frio!')
if estado2 == 2:
print('Está frio!')
if estado2 == 3:
print('Está morno!')
if estado2 == 4:
print('Está quente!')
if estado2 == 5:
print('Está muito quente!')
if estado2 == 6:
print('Está fervendo!')
if estado1 - estado2 == 0:
if estado2 == 0:
print('Seu palpite continua congelando!')
if estado2 == 1:
print('Seu palpite continua muito frio!')
if estado2 == 2:
print('Seu palpite continua frio!')
if estado2 == 3:
print('Seu palpite continua morno!')
if estado2 == 4:
print('Seu palpite continua quente!')
if estado2 == 5:
print('Seu palpite continua muito quente!')
if estado2 == 6:
print('Seu palpite continua fervendo!')
if estado1 - estado2 > 0:
if estado2 == 0:
print('Ops, seu palpite deu uma esfriada e agora está congelando!')
if estado2 == 1:
print('Ops, seu palpite deu uma esfriada e agora está muito frio!')
if estado2 == 2:
print('Ops, seu palpite deu uma esfriada e agora está frio!')
if estado2 == 3:
print('Ops, seu palpite deu uma esfriada e agora está morno!')
if estado2 == 4:
print('Ops, seu palpite deu uma esfriada e agora está quente!')
if estado2 == 5:
print('Ops, seu palpite deu uma esfriada e agora está muito quente!')
if estado1 - estado2 < 0:
if estado2 == 1:
print('Ops, seu palpite deu uma esquentada e agora está muito frio!')
if estado2 == 2:
print('Ops, seu palpite deu uma esquentada e agora está frio!')
if estado2 == 3:
print('Ops, seu palpite deu uma esquentada e agora está morno!')
if estado2 == 4:
print('Ops, seu palpite deu uma esquentada e agora está quente!')
if estado2 == 5:
print('Ops, seu palpite deu uma esquentada e agora está muito quente!')
if estado2 == 6:
print('Ops, seu palpite deu uma esquentada e agora está fervendo!')
for tentativa in range(1, 11):
while True:
try:
palpite = input('Tentativa' + str(tentativa) + ':')
palpite = int(palpite)
nrepete.append(palpite)
if (palpite < 1) or (palpite > 100):
raise ValueError
if nrepete.count(palpite) >= 2:
raise NameError
else:
break
except NameError:
print('Esse valor já foi testado! Tente de novo.')
except ValueError:
print('Valor inválido! Tente de novo.')
if palpite == n:
print('\nParabéns !')
print('\nVocê acertou o número', n, 'após', tentativa, 'tentativa(s)!')
break
if tentativa == 1:
SetStatus(tentativa)
if tentativa > 1:
estado1 = estado2
SetStatus(tentativa)
FornecerPista()
if tentativa == 10 and palpite != n:
print('\nLamento, mas após', tentativa, 'tentativas')
print('Você não conseguiu acertar o número', n, 'que eu estava pensando!')