前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法创作|模拟抽卡游戏抽卡问题解决方法

算法创作|模拟抽卡游戏抽卡问题解决方法

作者头像
算法与编程之美
发布2021-03-15 14:56:10
6440
发布2021-03-15 14:56:10
举报

引言

震惊!全网最火某网游抽卡模拟流出。

问题描述

输入抽卡次数X,得出抽卡结果

示例:

输入:X

输出:UR(SSR,SR,R)

解决方案

在如今大部分抽卡游戏中,抽卡都是一个结果未知的行为,所以运用random可以对其进行模拟。而且其中的大部分游戏都存在一个“保底机制(指获得某个稀有度的卡最多需要的抽卡次数)”,于是便有了如下程序

代码语言:javascript
复制
import random

m = input("请输入抽卡次数")

n = int(m)

a = 0

b = 0

c = 0

d = 0

luck = 0

number1 = 0

six = ["UR","UR"]

five = ["SSR","SSR"]

four = ["SR","SR"]

three = ["R","R"]

for i1 in range(0,n,1):

     secret = random.randint(1,100)

     if luck <= 50:

         if 1<=secret<=2:

            number1 =  random.randint(0,1)   

            print(six[number1])

            a = a + 1

         elif secret<=10:

            number2 = random.randint(0,1)

            print(five[number2])

            b = b + 1

         elif secret<=60:

            number3 = random.randint(0,1)

            print(four[number3])

            c = c + 1

         else:

            number4 = random.randint(0,1)

            print(three[number4])

            d = d + 1

     else:       

         if 1 <= secret <= 2 * (luck-49):

            number5 =  random.randint(0,1)    

            print(six[number5])

            luck = 0

            a = a + 1

         elif secret <= 2 * (luck-49) +8:

            number6 = random.randint(0,1)

            print(five[number6])

            b = b + 1

         elif secret <= 2 * (luck-49) +58:

            number7 = random.randint(0,1)

            print(four[number7])

            c = c + 1

         else:

            number8 = random.randint(0,1)

            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("累了,毁灭吧")

结语

这段程序模拟了拥有保底机制的抽卡游戏的抽卡环节,每次的抽卡次数可以自定义,但由于使用的是random,随机性过大,与市面上的抽卡游戏的实际有些许不符。

实习编辑:王晓姣

稿件来源:深度学习与文旅应用实验室(DLETA)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档