基于pycharm的石头剪刀布游戏gui开发显示比赛记录
时间: 2023-11-18 09:02:16 浏览: 68
用JS和DOM编写的石头剪刀布游戏,动态显现比赛详细结果
好的,如果您想在基于PyCharm的石头剪刀布游戏GUI中显示比赛记录,您可以使用一个文本框来显示记录。下面是一个更新后的示例代码:
```python
from tkinter import *
import random
# 创建窗口
root = Tk()
root.title("石头剪刀布游戏")
# 创建标签、按钮和文本框
label = Label(root, text="请选择:石头、剪刀、布")
label.pack()
button1 = Button(root, text="石头")
button2 = Button(root, text="剪刀")
button3 = Button(root, text="布")
button1.pack(side=LEFT)
button2.pack(side=LEFT)
button3.pack(side=LEFT)
text_box = Text(root, height=10, width=50)
text_box.pack()
# 创建变量来跟踪比赛记录
record = []
# 创建函数来处理按钮点击事件
def play_game(player_choice):
choices = ['石头', '剪刀', '布']
computer_choice = random.choice(choices)
result = ""
if player_choice == computer_choice:
result = "平局"
elif player_choice == "石头" and computer_choice == "剪刀":
result = "你赢了!"
elif player_choice == "剪刀" and computer_choice == "布":
result = "你赢了!"
elif player_choice == "布" and computer_choice == "石头":
result = "你赢了!"
else:
result = "你输了!"
# 将结果添加到记录中
record.append(f"你选择了 {player_choice},电脑选择了 {computer_choice},结果是 {result}")
# 显示结果和记录
label.config(text=f"你选择了 {player_choice},电脑选择了 {computer_choice},结果是 {result}")
text_box.delete(1.0, END)
for r in record:
text_box.insert(END, r + "\n")
# 将按钮绑定到函数上
button1.config(command=lambda: play_game("石头"))
button2.config(command=lambda: play_game("剪刀"))
button3.config(command=lambda: play_game("布"))
# 运行窗口
root.mainloop()
```
在这个更新的代码中,我们添加了一个文本框来显示比赛记录。我们还创建了一个列表变量record来跟踪记录。在play_game()函数中,我们将每个比赛结果添加到record中,并在函数的末尾使用一个for循环将记录显示在文本框中。最后,我们在每次更新记录时都清空文本框,以便新的记录可以显示。
这个例子只是一个简单的例子,您可以根据需要自定义记录的格式。希望这可以帮助您实现在基于PyCharm的石头剪刀布游戏GUI中显示比赛记录。
阅读全文