Я новичок в Python программировании. Моя игра на догадки работает, но система жизней не работает. Это не подсчет количества азартных игр. Цель состоит в том, чтобы, когда он достигнет 5 догадок, вы получите сообщение print_text, в котором говорится: «Вы потеряли все свои 5 жизней! Число было (число)».
Вот мой код:
from tkinter import *
import random
class Application(Frame):
"""A GUI application which which generates random number and gets user input"""
def __init__(self, master): #initialize newly created Application object
"""Initialize the frame"""
Frame.__init__(self, master) # super(Application, self).__init__(master) in python 3
self.grid()
self.create_widgets()
self.number = random.randint(1, 20)
def create_widgets(self):
"""Get user inputs"""
# create instruction label
Label(self, text = "Gok een getal tussen de 1 en 20").grid(row = 0, column = 0, sticky = W)
Label(self, text = "Probeer het binnen 5 keer te gokken!").grid(row = 1, column = 0, sticky = W)
# create guess input prompt label and entry
self.guess_ent = Entry(self, width=30)
self.guess_ent.grid(row = 2, column = 0, sticky = W)
# create start game prompt label and submit button
Button(self, text = "Gok", command = self.run_game).grid(row = 2, column = 0)
Button(self, text = "Reset", command = self.reset_game).grid(row = 3, column = 0, sticky=W)
# create submit button
#Button(self, text = "Submit", command = )
# create computer feedback text box
self.text = Text(self, width=75, height=2, wrap=WORD)
self.text.grid(row=4, column=0, columnspan=2)
def run_game(self):
"""Generate number and get user input"""
numofguesses = 0
while numofguesses < 5:
guess = int(self.guess_ent.get())
numofguesses = numofguesses + 1
if guess > self.number:
print_text = "Je gokt {0}.".format(guess)
print_text += " nummer is te hoog"
self.text.delete(0.0, END)
self.text.insert(0.0, print_text)
print (numofguesses)
break
if guess < self.number:
print_text = "Je gokt {0}.".format(guess)
print_text += " nummer is te laag"
self.text.delete(0.0, END)
self.text.insert(0.0, print_text)
print (numofguesses)
break
numofguesses = numofguesses + 1
if guess == self.number:
print_text = "Goed gedaan! Je hebt het nummer gegokt."
self.text.delete(0.0, END)
self.text.insert(0.0, print_text)
break
if numofguesses == 5:
self.number = str(number)
print_text = "Je bent af, alle 5 levens zijn op! Het getal was", number
self.text.delete(0.0, END)
self.text.insert(0.0, print_text)
self.guess_ent.delete(0, END)
break
def reset_game(self):
print_text = "Game is gereset!"
self.number = random.randint(1, 20)
self.text.delete(0.0, END)
self.text.insert(0.0, print_text)
# main
root = Tk()
root.geometry('350x120')
root.title("Guessing Game")
app = Application(root)
app.configure(bg='lightgrey')
root.mainloop()