import random
from tkinter import *
from PIL import Image,ImageTk
#本期5星up角色
current_character_5x='优菈'
#5星常驻卡池
character_5x=['刻晴','琴','迪卢克','莫娜','提纳里','迪西雅','七七']
#4星本期up角色
current_character_4x=['米卡','雷泽','托马']
#4星常驻角色
character_4x=['瑶瑶','莱依拉','多莉','香菱','行秋','班尼特','凝光','北斗',\
'久岐忍','绮良良','九条裟罗','早柚','罗莎莉亚','砂糖','重云',\
'芭芭拉','卡维','珐露珊','坎蒂丝','科莱','云堇','鹿野院平藏',\
'五郎','烟绯','辛焱','迪奥娜','诺艾尔','菲谢尔']
#4星武器
weapon_4x=['西风猎弓','祭礼残章','西风秘典','匣里灭辰','祭礼大剑','钟剑',\
'弓藏','绝弦','祭礼剑','祭礼弓','西风剑','昭心','流浪乐章','西风长枪',\
'雨裁','笛剑','匣里龙吟']
#3星武器
weapon_3x=['弹弓','鸦羽弓','讨龙英杰谭','黑缨枪','沐浴龙血的剑','飞天御剑',\
'冷刃','神射手之誓','翡玉法球','魔导绪论','以理服人','铁影阔剑',\
'黎明神剑']
count_5x=1 #5星保底计数
baodi_5x=False #5星角色保底机制
pr_5x=0.006 #5星抽卡概率
count_4x=1 #4星保底计数
baodi_4x=False #4星角色保底机制
#抽到5星
def draw_5x():
global count_5x,baodi_5x,pr_5x,count_4x
r=''
if baodi_5x: #是大保底
r=current_character_5x #抽卡结果为当期up角色
baodi_5x=False #重置大保底
else:
a=random.randint(0,1)
#不歪
if a:
r=current_character_5x
#歪
else:
r=random.choice(character_5x)
baodi_5x=True #下次大保底
count_5x=1 #重置5星保底计数
pr_5x=0.006 #重置5星概率
count_4x=1 #重置4星保底计数
return [r,5]
#没抽到5星,计数与概率累增
def pr_5x_up():
global count_5x,pr_5x
count_5x+=1
if count_5x>73:
pr_5x+=0.06 #从74抽开始,每抽增加0.06概率
#抽到4星
def draw_4x():
global baodi_4x,count_4x
r=''
#当期4星
if baodi_4x:
r=random.choice(current_character_4x)
baodi_4x=False
else:
b=random.randint(0,1)
if b:
#当期4星50%几率up
r=random.choice(current_character_4x)
else:
c=random.randint(0,1)
if c:
#歪4星角色
r=random.choice(character_4x)
else:
#歪4星武器
r=random.choice(weapon_4x)
baodi_4x=True
pr_5x_up() #没抽到5星,检查是否提升概率
count_4x=1
return [r,4]
#单次抽卡
def draw():
global count_4x
r=['',3]
#触发5星保底
if count_5x==90: #吃满保底
r=draw_5x()
#触发4星以上保底机制
elif count_4x==10:
a=random.randint(1,1000)
if a<=int(pr_5x*1000):
r=draw_5x() #抽到5星
else:
r=draw_4x() #抽到4星
#一般情况
else:
a=random.randint(1,1000)
if a<=int(pr_5x*1000):
r=draw_5x()
elif int(0.949*1000)<a<=1000:
r=draw_4x()
else:
r[0]=random.choice(weapon_3x)
count_4x+=1
pr_5x_up()
return r
def get_path():
#抽卡结果
r=draw()
if r[1]==5:
image_path=f'5星\{r[0]}.png'
elif r[1]==4:
image_path=f'4星\{r[0]}.png'
else:
image_path=f'3星\{r[0]}.png'
return image_path
#贴图
def blit(a,b):
#获得抽卡结果的图片地址
image_path=get_path()
image=Image.open(image_path)
image=image.resize((100,100),Image.LANCZOS)
photo=ImageTk.PhotoImage(image)
label=Label(window,image=photo)
label.image=photo
label.place(x=a,y=b)
label_list.append(label)
def show_num(n):
global num
#抽卡次数展示
num+=n
label = Label(window, text=f"第{num}抽:")
label.place(x=10,y=10)
label_list.append(label)
def draw1():
#清除所有图片
for l in label_list:
l.destroy()
#展示抽卡次数
show_num(1)
#抽卡结果贴图
blit(50,50)
# 更新窗口
window.update()
def draw10():
for l in label_list:
l.destroy()
show_num(10)
x=50
y=50
for i in range(10):
blit(x,y)
x+=150
if x==800:
x=50
y=200
window.update()
num=0 #抽卡次数
window = Tk()
window.title('原神抽卡')
window.geometry("800x400")
#创建label列表,存储1个或10个label
label_list = []
btn1=Button(window,text='单抽',command=draw1)
btn1.place(x=350,y=350)
btn2=Button(window,text='十连',command=draw10)
btn2.place(x=450,y=350)
window.mainloop()
没有合适的资源?快使用搜索试试~ 我知道了~
python tk 编写原神抽卡模拟器
共147个文件
png:146个
py:1个
需积分: 0 11 下载量 56 浏览量
2023-10-24
14:49:03
上传
评论 2
收藏 3.31MB ZIP 举报
温馨提示
1.运行py代码需要安装PIL库 2.抽卡规则1:1复刻官方公布的概率与机制 3.没有写抽卡动画,点击抽卡按钮会直接展示抽卡结果(武器与角色的贴图) 4.博主原创,仅供交流分享!(适合青少年学习python使用)
资源推荐
资源详情
资源评论
收起资源包目录
python tk 编写原神抽卡模拟器 (147个子文件)
祭礼残章.png 35KB
祭礼残章.png 35KB
西风秘典.png 35KB
西风秘典.png 35KB
弓藏.png 34KB
弓藏.png 34KB
讨龙英杰谭.png 33KB
雨裁.png 33KB
雨裁.png 33KB
西风猎弓.png 33KB
西风猎弓.png 33KB
绝弦.png 33KB
绝弦.png 33KB
飞天大御剑.png 32KB
神射手之誓.png 32KB
流浪乐章.png 32KB
流浪乐章.png 32KB
鸦羽弓.png 32KB
昭心.png 32KB
昭心.png 32KB
西风大剑.png 31KB
西风大剑.png 31KB
翡玉法球.png 31KB
沐浴龙血的剑.png 31KB
魔导绪论.png 31KB
冷刃.png 31KB
祭礼大剑.png 31KB
祭礼大剑.png 31KB
黎明神剑.png 31KB
铁影阔剑.png 30KB
以理服人.png 29KB
可莉.png 29KB
弹弓.png 29KB
西风剑.png 29KB
西风剑.png 29KB
笛剑.png 29KB
笛剑.png 29KB
黑缨枪.png 29KB
匣里龙吟.png 29KB
匣里龙吟.png 29KB
绮良良.png 29KB
绮良良.png 29KB
珐露珊.png 29KB
珐露珊.png 29KB
西风长枪.png 29KB
西风长枪.png 29KB
坎蒂丝.png 28KB
坎蒂丝.png 28KB
祭礼弓.png 28KB
祭礼弓.png 28KB
匣里灭辰.png 28KB
匣里灭辰.png 28KB
飞天御剑.png 28KB
纳西妲.png 28KB
白术.png 28KB
烟绯.png 28KB
烟绯.png 28KB
久岐忍.png 28KB
久岐忍.png 28KB
祭礼剑.png 28KB
祭礼剑.png 28KB
八重神子.png 27KB
卡维.png 27KB
卡维.png 27KB
妮露.png 27KB
荒泷一斗.png 27KB
五郎.png 27KB
五郎.png 27KB
赛诺.png 26KB
北斗.png 26KB
北斗.png 26KB
瑶瑶.png 26KB
瑶瑶.png 26KB
优菈.png 26KB
魈.png 26KB
甘雨.png 26KB
迪希雅.png 26KB
柯莱.png 26KB
柯莱.png 26KB
宵宫.png 26KB
莱依拉.png 25KB
莱依拉.png 25KB
雷电将军.png 25KB
早柚.png 25KB
早柚.png 25KB
罗莎莉亚.png 25KB
罗莎莉亚.png 25KB
阿贝多.png 25KB
胡桃.png 25KB
鹿野院平藏.png 25KB
鹿野院平藏.png 25KB
米卡.png 25KB
米卡.png 25KB
温迪.png 25KB
枫原万叶.png 24KB
迪奥娜.png 23KB
迪奥娜.png 23KB
提纳里.png 23KB
流浪者.png 23KB
艾尔海森.png 23KB
共 147 条
- 1
- 2
资源评论
CaiFeiNull
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- desc
- VB+ACCESS超市管理系统设计(源代码+系统).zip
- xiulian.jpg
- 130平米全包装修清单明细excel表格.xls
- TI杯大奖赛本科组+研究生组论文+源代码+PCB基于LM3S811的声控轮式机器人
- TI杯大奖赛本科组+研究生组论文+源代码+PCB基于GSM无线传输技术的远程手机遥控系统
- TI杯大奖赛本科组+研究生组论文+源代码+PCB基于FastICA盲源分离算法的语音增强系统
- 15第十五章常用医学统计软件简介.pdf
- TI杯大奖赛本科组+研究生组论文+源代码+PCB基于DSP和双向Z源逆变器的纯电动汽车电机驱动与车辆控制系统
- TI杯大奖赛本科组+研究生组论文+源代码+PCB基于DSP的机械手控制系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功