原神抽卡模拟器(附完整源码)

原神是一款由 miHoYo(米哈游)开发的开放世界角色扮演游戏,因其精美的画面、丰富的剧情和多样化的角色受到了广大玩家的喜爱。在游戏中,抽卡(也称为“许愿”)是获取新角色和武器的重要方式。然而,抽卡的几率是完全随机的,众多玩家往往希望能通过模拟器来预测和分析抽卡的结果。本文将为大家介绍如何使用 Python 编写一个简单的原神抽卡模拟器,并附上完整的源码。

模拟器的基本逻辑

在原神的抽卡系统中,抽卡分为普通抽卡和高保真抽卡(又叫“保底”)。我们将考虑这两种情况。具体的抽卡概率通常如下:

  • 5星角色/武器的概率:0.6%
  • 4星角色/武器的概率:5.1%
  • 3星角色/武器的概率:94.3%

此外,在高保底的情况下,经过70次抽卡必定能获得1个5星角色/武器。

安装 Python 环境

我们首先需要确保已经在系统中安装了 Python。如果你还没有安装,可以去Python官方网站下载并安装最新版的 Python。安装完成后,可以使用 pip 安装所需的库。

pip install random

编写抽卡模拟器代码

接下来,我们就可以开始编写我们的抽卡模拟器了。下面是一个基本实现的示例代码:

import random

class GenshinGachaSimulator:
    def __init__(self):
        self.star_rates = {
            '5星': 0.006,
            '4星': 0.051,
            '3星': 0.943
        }
        self.results = {
            '5星': 0,
            '4星': 0,
            '3星': 0
        }

    def simulate_single_pull(self):
        rand_num = random.random()  # 生成0到1之间的随机数
        if rand_num < self.star_rates['5星']:
            self.results['5星'] += 1
            return '5星角色/武器'
        elif rand_num < self.star_rates['5星'] + self.star_rates['4星']:
            self.results['4星'] += 1
            return '4星角色/武器'
        else:
            self.results['3星'] += 1
            return '3星角色/武器'

    def simulate_pulls(self, num_pulls):
        for _ in range(num_pulls):
            self.simulate_single_pull()
        return self.results

if __name__ == '__main__':
    simulator = GenshinGachaSimulator()
    pulls = int(input("请输入希望抽取的次数: "))
    results = simulator.simulate_pulls(pulls)
    print(f"抽卡结果: {results}")

代码解释

  1. 类定义: 我们定义了一个 GenshinGachaSimulator 类来模拟抽卡。

  2. 初始化: 在 __init__ 方法中,我们设定了每种星级的抽卡几率,以及结果的统计。

  3. 单次抽卡: simulate_single_pull 方法负责模拟一次抽卡,根据生成的随机数判断抽到的角色/武器星级,并记录结果。

  4. 多次抽卡: simulate_pulls 方法模拟多次抽卡,通过调用 simulate_single_pull 方法实现,并返回每种星级的抽卡统计结果。

  5. 运行程序: 在 __main__ 中,我们实例化模拟器,并请求用户输入希望抽取的次数,最后打印抽卡结果。

总结

以上就是一个简单的原神抽卡模拟器的实现。通过这种方式,玩家可以对抽卡的结果有一个大致的了解和预期,同时也能在实际抽卡过程中帮助他们更好地理解概率。当然,这个模拟器只是简单的概率模拟,实际游戏中的结果可能会受到各种因素的影响。希望这个模拟器能为大家的抽卡体验增添一点乐趣!如果有更高级的需求,比如角色和武器的具体数据,可以进一步扩展这个模拟器。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部