原神抽卡模拟器 - Python Tkinter 实现 (代码100行)
以下是一个简单的 Python Tkinter 抽卡程序的代码,实现了原神游戏中抽卡的基本功能:
import random
import tkinter as tk
# 创建一个 Tkinter 窗口
window = tk.Tk()
window.geometry('400x300')
window.title('原神抽卡程序')
# 创建一个 Label,显示当前剩余的抽卡次数
chance_label = tk.Label(window, text='剩余抽卡次数:10', font=('Arial', 14))
chance_label.pack(pady=10)
# 创建一个 Listbox,用于显示抽到的卡牌
result_listbox = tk.Listbox(window, height=5, font=('Arial', 14))
result_listbox.pack(pady=10)
# 定义一个抽卡函数
def gacha():
# 先判断当前是否还有剩余抽卡次数
if chance_label['text'] == '剩余抽卡次数:0':
tk.messagebox.showwarning('提示', '您的抽卡次数已用尽!')
return
# 减少一次抽卡次数
chance = int(chance_label['text'].split(':')[1])
chance -= 1
chance_label['text'] = '剩余抽卡次数:' + str(chance)
# 随机抽卡
cards = ['五星角色', '四星角色', '五星武器', '四星武器', '三星武器']
result = random.choice(cards)
# 在 Listbox 中显示抽到的卡牌
result_listbox.insert(0, result)
# 如果抽到五星卡牌,则弹出提示框
if result.startswith('五星'):
tk.messagebox.showinfo('恭喜', '您抽到了 ' + result + '!')
# 创建一个“抽卡”按钮
gacha_button = tk.Button(window, text='抽卡', font=('Arial', 16), command=gacha)
gacha_button.pack(pady=10)
# 运行 Tkinter 窗口
window.mainloop()
代码解析:
-
导入
random和tkinter库。 -
创建一个
Tk()对象,即一个 Tkinter 窗口。 -
设置窗口大小和标题。
-
创建一个
Label,用于显示当前剩余的抽卡次数。 -
创建一个
Listbox,用于显示抽到的卡牌。 -
定义一个
gacha()函数,用于实现抽卡的功能。 -
在
gacha()函数中,先判断当前是否还有剩余抽卡次数,如果没有则弹出提示框。 -
如果还有剩余抽卡次数,则减少一次抽卡次数,并随机抽卡。
-
将抽到的卡牌添加到
Listbox中。 -
如果抽到了五星卡牌,则弹出恭喜提示框。
-
创建一个 “抽卡”按钮,点击该按钮会调用
gacha()函数。 -
运行 Tkinter 窗口,即进入事件循环,等待用户的操作。
原文地址: https://www.cveoy.top/t/topic/nYxW 著作权归作者所有。请勿转载和采集!