抽卡程序模拟

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽卡程序模拟相关的知识,希望对你有一定的参考价值。

0 引言

手机抽卡游戏的爆火,让我们萌生了用程序来模拟游戏中的 抽卡 这一环节。

1 问题

对抽卡手游的 抽卡 这一环节进行模拟。

2 方法

用python的random函数进行模拟。

3 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

import random
m = input("请输入抽卡次数")
n = int(m)
a = 0
b = 0
c = 0
d = 0
luck = 0
number1 = 0
six = [卡池内容]
five = [ 卡池内容 ]
four = [卡池内容]
three = [卡池内容]
for i1 in range(0,n,1):
   secret = random.randint(1,100)
   if luck <= 50:
       if 1<=secret<=2:
           number1 = random.randint(0,26)    
           print(six[number1])
           a = a + 1
       elif secret<=10:
           number2 = random.randint(0,47)
           print(five[number2])
           b = b + 1
       elif secret<=60:
           number3 = random.randint(0,36)
           print(four[number3])
           c = c + 1
       else:
           number4 = random.randint(0,16)
           print(three[number4])
           d = d + 1
   else:        
       if 1 <= secret <= 2 * (luck-49):
           number5 = random.randint(0,26)    
           print(six[number5])
           luck = 0
           a = a + 1
       elif secret <= 2 * (luck-49) +8:
           number6 = random.randint(0,47)
           print(five[number6])
           b = b + 1
       elif secret <= 2 * (luck-49) +58:
           number7 = random.randint(0,36)
           print(four[number7])
           c = c + 1
       else:
           number8 = random.randint(0,16)
           print(three[number8])
           d = d + 1
   luck = luck + 1
print("抽卡结束,共抽到六星" + str(a) + "个,五星" + str(b) + "个,四星" + str(c) + "个,三星" + str(d) + "个,抽出六星比例"+ str(a/n))
p = a / n
if p > 0.02:
   print("好耶")
else:
   print("哦豁")

4 结语

针对抽卡问题,提出运用random函数的方法,通过这次实验,证明该方法是有效的,本文的方法有哪些不足或考虑不周的地方,未来可以继续研究的问题有哪些。

以上是关于抽卡程序模拟的主要内容,如果未能解决你的问题,请参考以下文章

用C语言做一个简单的原神抽卡小游戏

神奇又简单的抽卡游戏c++

公主连结网页抽卡

在微信小程序中,如何实现下拉刷新(模拟刷新)

码蹄集 - MT2165 - 小码哥的抽卡之旅1

linux在线练习模拟器