测试了一下,概率确实低,尤其是想得到自己想要的卡,活动多、杂、小,缺乏玩家对喜爱英雄的培养和搭配,希望增加获得指定英雄的途径等等

2022/06/14137 浏览
#!/usr/bin/python3
import random
#ry荣耀,gg桂冠,sg碎骨,yh永恒
zhenying=('ry','gg','sg','yh')
diantang=[]
dashi=[]
jiechu=[]
#给每一张卡编号,计算各品级数量,每个阵营7,3,2
for i in zhenying:
for a in range(1,8):
diantang.append('{0}DT{1}'.format(i,a))
for i in zhenying:
for a in range(1,4):
dashi.append('{0}DS{1}'.format(i,a))
for i in zhenying:
for a in range(1,3):
jiechu.append('{0}JC{1}'.format(i,a))
#荣耀殿堂和大师级的要多一个,加上去
diantang.append('ryDT8')
dashi.append('ryDS4')
#来自大师级的假紫卡
JZ=[]
for i in zhenying:
for a in range(1,4):
dashi.append('{0}DSJZ{1}'.format(i,a))
#卡池
zika=JZ+diantang
lanka=dashi
lvka=jiechu+['Suipian']
#抽卡
def chouka():
a=random.randint(0,10000)
if a>=9539:
return random.choice(zika)
elif 4370<a<9539:
return random.choice(lanka)
elif a<=4370:
return random.choice(lvka)
#次数抽卡并得到结果
zongji=[]
cishu=input('你想抽卡多少次:')
cishu=int(cishu)
for i in range(cishu):
zongji.append(chouka())
cd1=[]
cd2=[]
cd3=[]
for i in zongji:
if i in diantang:
cd1.append(i)
if i in dashi:
cd2.append(i)
if i in jiechu:
cd3.append(i)
print(len(cd1),'个殿堂级')
print(len(cd2),'个大师级')
print(len(cd3),'个杰出级')
sp=zongji.count('Suipian')
print(sp,'个碎片')
print('殿堂级英雄是:',cd1)
#假设我想抽到某张特定卡,需要多少次
b=0 #初始次数
c=random.choice(diantang) #随机一个殿堂级英雄
while True:
a = chouka()
if a ==c:
print('抽到',c,'一共用了',b,'次')
break
else:
b=b+1
1
2