死或生沙滩排球维...吧 关注:67,206贴子:3,227,040
  • 4回复贴,共1

我有个大胆的猜想

只看楼主收藏回复

奶排的芶CH会不会学隔壁三国志,搞个类似“相性”的隐藏属性,每个号随机一个数不变,每个女孩也有固定数值,越相近的越容易抽出来。
这样就能一定程度解释所谓仓检,想要的女孩偏不出。也能解释一个池子老出重复的。还能解释大小号总是不同的出卡体验。
毕竟都是KT自己的IP,学起来很容易。


IP属地:广东1楼2025-04-23 09:07回复
    死抽同池子容易栽


    IP属地:山西来自Android客户端2楼2025-04-23 10:54
    回复
      2025-07-28 15:28:16
      广告
      不感兴趣
      开通SVIP免广告
      你以为的3.3池子是30抽一件
      有可能100抽一件,也更有可能200抽一件,真是离谱妈妈给离谱开门,离谱到家


      IP属地:上海3楼2025-04-23 11:05
      回复
        哪这么复杂。下面是一个国产 gacha 的抽卡代码。kt 没保底且把未拥有卡加成改成了已拥有卡加成。
        ```python
        import random
        from collections import defaultdict
        class GachaSystem:
        def __init__(self):
        # 角色配置表:ID, 名称, 稀有度, 基础权重
        m网页链接 = [
        (1, "SSR角色A", "SSR", 0.01),
        (2, "SSR角色B", "SSR", 0.01),
        (3, "SR角色A", "SR", 0.10),
        (4, "SR角色B", "SR", 0.10),
        (5, "R角色A", "R", 0.78)
        ]
        # 玩家数据
        self.player_inventory = defaultdict(int) # 角色ID: 持有数量
        self.pity_counter = 0 # 保底计数器
        # 仓检参数
        self.ADJUST_FACTOR = 2.0 # 未拥有角色权重加成
        self.PITY_THRESHOLD = 50 # 硬保底抽数
        def adjust_weights(self):
        """根据仓库检测调整抽取权重"""
        adjusted_weights = []
        for char in self.characters:
        char_id, _, rarity, base = char
        # 如果玩家未持有该角色且是SSR,增加权重
        if self.player_inventory[char_id] == 0 and rarity == "SSR":
        adjusted_weights.append(base * self.ADJUST_FACTOR)
        else:
        adjusted_weights.append(base)
        return adjusted_weights
        def apply_pity_system(self, weights):
        """保底系统应用"""
        # 硬保底机制:超过阈值必得SSR
        if self.pity_counter >= self.PITY_THRESHOLD:
        print("触发硬保底!")
        return [w*100 if rarity == "SSR" else 0 for (_, _, rarity, _), w in zip(self.characters, weights)]
        return weights
        def single_pull(self):
        """单次抽取"""
        # 获取调整后的权重
        weights = self.adjust_weights()
        # 应用保底系统
        weights = self.apply_pity_system(weights)
        # 归一化权重
        total = sum(weights)
        normalized_weights = [w/total for w in weights]
        # 执行抽取
        selected = random.choices(
        population=self.characters,
        weights=normalized_weights,
        k=1
        )[0]
        # 更新数据
        self.player_inventory[selected[0]]


        IP属地:浙江来自Android客户端5楼2025-04-23 12:59
        收起回复