用python写一个猜拳小游戏,要求使用tkinter
时间: 2023-07-20 12:40:03 浏览: 116
好的,我来给您写一个简单的猜拳小游戏,使用Python和Tkinter实现。以下是代码实现:
```python
import tkinter as tk
import random
# 窗口初始化
root = tk.Tk()
root.title("猜拳小游戏")
root.geometry("300x200")
root.resizable(width=False, height=False)
# 定义游戏规则
rules = {0: "剪刀", 1: "石头", 2: "布"}
# 定义计分板
player_score = 0
computer_score = 0
score_board = tk.Label(root, text="玩家得分: {} 电脑得分: {}".format(player_score, computer_score))
score_board.pack(pady=10)
# 定义游戏结果显示
result_label = tk.Label(root, text="", font=("Arial", 16, "bold"))
result_label.pack(pady=10)
# 定义玩家出拳函数
def player_fight(player_choice):
global player_score
global computer_score
computer_choice = random.choice(list(rules.keys()))
if player_choice == computer_choice:
result_label.config(text="平局!")
elif (player_choice - computer_choice) % 3 == 1:
player_score += 1
result_label.config(text="你赢了!")
else:
computer_score += 1
result_label.config(text="电脑赢了!")
score_board.config(text="玩家得分: {} 电脑得分: {}".format(player_score, computer_score))
# 定义界面按钮
button_scissors = tk.Button(root, text="剪刀", width=8, command=lambda: player_fight(0))
button_scissors.pack(side="left", padx=10)
button_rock = tk.Button(root, text="石头", width=8, command=lambda: player_fight(1))
button_rock.pack(side="left", padx=10)
button_paper = tk.Button(root, text="布", width=8, command=lambda: player_fight(2))
button_paper.pack(side="left", padx=10)
# 启动窗口
root.mainloop()
```
运行代码之后,您会看到一个猜拳小游戏的窗口。您可以点击“剪刀”、“石头”或“布”按钮进行出拳,电脑会随机出拳并显示结果在屏幕上。
注意:这只是一个简单的示例程序,您可以根据自己的需求进行修改和扩展。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)