设计一个有 GUI 界面的猜数游戏。有 5 个游戏者依次玩猜数游戏,“系统随机产生一 个 1-500 之间整数,同学输入猜测数,猜不中,提示是大了还是小了,继续猜,直到猜中 为止,记录猜测次数。”所有游戏者均完成后,按照猜测次数由低到高的次序排序游戏者。
时间: 2023-11-10 16:05:05 浏览: 68
好的,我可以为您提供一个基于 Python 的 GUI 界面猜数游戏。首先需要安装 tkinter 库来实现 GUI 界面。
以下是代码实现:
```python
import random
import tkinter as tk
class GuessNumberGame:
def __init__(self, master):
self.master = master
master.title("猜数游戏")
self.number_to_guess = random.randint(1, 500)
self.guess_count = 0
self.guess_label = tk.Label(master, text="请输入猜测数:")
self.guess_label.pack()
self.guess_entry = tk.Entry(master)
self.guess_entry.pack()
self.submit_button = tk.Button(master, text="提交", command=self.check_guess)
self.submit_button.pack()
self.result_label = tk.Label(master, text="")
self.result_label.pack()
def check_guess(self):
guess = int(self.guess_entry.get())
self.guess_count += 1
if guess < self.number_to_guess:
self.result_label.config(text="猜小了,请再次猜测")
elif guess > self.number_to_guess:
self.result_label.config(text="猜大了,请再次猜测")
else:
self.result_label.config(text=f"恭喜您猜对了!共猜测了{self.guess_count}次")
self.master.after(3000, lambda: self.master.destroy())
def main():
root = tk.Tk()
game_list = []
for i in range(5):
game = GuessNumberGame(root)
game_list.append(game)
root.mainloop()
game_list.sort(key=lambda x:x.guess_count)
print("游戏结果:")
for i, game in enumerate(game_list):
print(f"{i+1}. 猜测次数: {game.guess_count}")
if __name__ == "__main__":
main()
```
在这个代码中,我们创建了一个 GuessNumberGame 类,创建了 GUI 界面,并实现了猜数游戏。该类包括一个 check_guess 方法,用于检查玩家的猜测是否正确,并输出提示信息。在玩家猜对之后,程序会等待 3 秒钟后自动关闭 GUI 界面。
在 main 函数中,我们创建了 5 个 GuessNumberGame 对象,并且将游戏列表按照猜测次数排序。最终输出每个游戏者的猜测次数。
希望这个代码可以帮助您完成您的猜数游戏!
阅读全文