<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://zh.doc.boardgamearena.com/index.php?action=history&amp;feed=atom&amp;title=Tips_seasons</id>
	<title>Tips seasons - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://zh.doc.boardgamearena.com/index.php?action=history&amp;feed=atom&amp;title=Tips_seasons"/>
	<link rel="alternate" type="text/html" href="https://zh.doc.boardgamearena.com/index.php?title=Tips_seasons&amp;action=history"/>
	<updated>2026-09-30T16:09:29Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://zh.doc.boardgamearena.com/index.php?title=Tips_seasons&amp;diff=2441&amp;oldid=prev</id>
		<title>Bigbaozi：​创建页面，内容为“# -*- coding: utf-8 -*- &quot;&quot;&quot; 卡牌策略数学模拟器 根据用户提供的策略（资源平衡、Temporal Boots 抽牌概率、Necrotic Kriss 伤害估算） &quot;&quot;&quot;  def resource_balance(energy_cards, crystal_cards, avg_energy_per_card, avg_crystal_per_card, deck_size, turns):     &quot;&quot;&quot;     计算总期望能量和晶体     energy_cards: 能量卡数量     crystal_cards: 晶体卡数量     avg_energy_per_card: 每张能量卡平均提供能量     avg_crystal…”</title>
		<link rel="alternate" type="text/html" href="https://zh.doc.boardgamearena.com/index.php?title=Tips_seasons&amp;diff=2441&amp;oldid=prev"/>
		<updated>2026-04-19T01:51:38Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“# -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; 卡牌策略数学模拟器 根据用户提供的策略（资源平衡、Temporal Boots 抽牌概率、Necrotic Kriss 伤害估算） &amp;quot;&amp;quot;&amp;quot;  def resource_balance(energy_cards, crystal_cards, avg_energy_per_card, avg_crystal_per_card, deck_size, turns):     &amp;quot;&amp;quot;&amp;quot;     计算总期望能量和晶体     energy_cards: 能量卡数量     crystal_cards: 晶体卡数量     avg_energy_per_card: 每张能量卡平均提供能量     avg_crystal…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
卡牌策略数学模拟器&lt;br /&gt;
根据用户提供的策略（资源平衡、Temporal Boots 抽牌概率、Necrotic Kriss 伤害估算）&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def resource_balance(energy_cards, crystal_cards, avg_energy_per_card, avg_crystal_per_card, deck_size, turns):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    计算总期望能量和晶体&lt;br /&gt;
    energy_cards: 能量卡数量&lt;br /&gt;
    crystal_cards: 晶体卡数量&lt;br /&gt;
    avg_energy_per_card: 每张能量卡平均提供能量&lt;br /&gt;
    avg_crystal_per_card: 每张晶体卡平均提供晶体&lt;br /&gt;
    deck_size: 总牌库数量&lt;br /&gt;
    turns: 游戏回合数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 简化模型：假设每回合抽固定张数，且所有卡都会在 turns 回合内过到一次&lt;br /&gt;
    total_draws = turns * 5  # 假设每回合抽5张&lt;br /&gt;
    energy_expected = energy_cards * avg_energy_per_card * (total_draws / deck_size)&lt;br /&gt;
    crystal_expected = crystal_cards * avg_crystal_per_card * (total_draws / deck_size)&lt;br /&gt;
    return energy_expected, crystal_expected&lt;br /&gt;
&lt;br /&gt;
def boots_miss_prob(deck_size, copies, hand_size, turns):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    计算 Temporal Boots 在指定回合数内仍未抽到的概率&lt;br /&gt;
    deck_size: 总牌库数量&lt;br /&gt;
    copies: Boots 数量（通常为1）&lt;br /&gt;
    hand_size: 每回合抽牌数&lt;br /&gt;
    turns: 已进行回合数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    if copies == 0:&lt;br /&gt;
        return 1.0&lt;br /&gt;
    total_drawn = min(hand_size * turns, deck_size)&lt;br /&gt;
    # 超几何分布：未抽到任何一张 Boots 的概率&lt;br /&gt;
    prob = 1.0&lt;br /&gt;
    for i in range(copies):&lt;br /&gt;
        prob *= (deck_size - total_drawn - i) / (deck_size - i)&lt;br /&gt;
    return max(0, prob)&lt;br /&gt;
&lt;br /&gt;
def kriss_damage(turns, cards_per_turn, starting_discard=0):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Necrotic Kriss 造成的总伤害估算&lt;br /&gt;
    每张在弃牌堆中的卡造成1点伤害&lt;br /&gt;
    turns: 回合数&lt;br /&gt;
    cards_per_turn: 每回合进入弃牌堆的卡数（包括打出的和弃掉的）&lt;br /&gt;
    starting_discard: 初始弃牌堆数量&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    total_discard = starting_discard + turns * cards_per_turn&lt;br /&gt;
    # Kriss 打出的那一刻，伤害等于当前弃牌堆大小&lt;br /&gt;
    # 这里假设你在最后一回合才打出 Kriss&lt;br /&gt;
    return total_discard&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    print(&amp;quot;=&amp;quot; * 50)&lt;br /&gt;
    print(&amp;quot;卡牌策略数学模拟器（中文版）&amp;quot;)&lt;br /&gt;
    print(&amp;quot;=&amp;quot; * 50)&lt;br /&gt;
&lt;br /&gt;
    # 1. 资源平衡示例&lt;br /&gt;
    print(&amp;quot;\n1. 资源平衡计算（能量卡 vs 晶体卡）&amp;quot;)&lt;br /&gt;
    e_cards = 8      # 能量卡数量&lt;br /&gt;
    c_cards = 7      # 晶体卡数量&lt;br /&gt;
    e_per = 1.5      # 每张能量卡平均产能量&lt;br /&gt;
    c_per = 2.0      # 每张晶体卡平均产晶体&lt;br /&gt;
    deck = 30        # 牌库大小&lt;br /&gt;
    turns = 10       # 进行10回合&lt;br /&gt;
    energy, crystal = resource_balance(e_cards, c_cards, e_per, c_per, deck, turns)&lt;br /&gt;
    print(f&amp;quot;  牌库 {deck} 张，{turns} 回合内：&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;  期望获得能量: {energy:.2f}&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;  期望获得晶体: {crystal:.2f}&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;  能量/晶体比值: {energy/crystal:.2f}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # 2. Temporal Boots 未抽到概率&lt;br /&gt;
    print(&amp;quot;\n2. Temporal Boots 未抽到概率&amp;quot;)&lt;br /&gt;
    boots_copies = 1&lt;br /&gt;
    hand = 5&lt;br /&gt;
    for t in [3, 5, 7]:&lt;br /&gt;
        prob = boots_miss_prob(deck, boots_copies, hand, t)&lt;br /&gt;
        print(f&amp;quot;  第 {t} 回合结束时仍未抽到 Boots 的概率: {prob:.3f}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # 3. Necrotic Kriss 伤害&lt;br /&gt;
    print(&amp;quot;\n3. Necrotic Kriss 伤害估算（最后一回合打出）&amp;quot;)&lt;br /&gt;
    for t in [5, 8, 10]:&lt;br /&gt;
        dmg = kriss_damage(t, cards_per_turn=4, starting_discard=5)&lt;br /&gt;
        print(f&amp;quot;  第 {t} 回合打出 Kriss，弃牌堆大小 = {dmg} → 造成 {dmg} 点伤害&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # 4. 组合技额外回合期望&lt;br /&gt;
    print(&amp;quot;\n4. Temporal Boots + Amsug Longneck 额外回合期望&amp;quot;)&lt;br /&gt;
    p_boots = 1 - boots_miss_prob(deck, 1, hand, 5)  # 前5回合抽到Boots概率&lt;br /&gt;
    p_longneck = 0.4  # 假设手中有Longneck的概率40%&lt;br /&gt;
    extra_turns = p_boots * p_longneck * 1.2  # 1.2为可能的回手因子&lt;br /&gt;
    print(f&amp;quot;  前5回合抽到Boots概率: {p_boots:.3f}&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;  同时有Longneck概率: {p_longneck:.2f}&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;  期望额外回合数: {extra_turns:.3f}&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;  总伤害倍数 ≈ 1 + {extra_turns:.3f} = {1+extra_turns:.3f}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;\n提示：实际游戏中还需考虑对手干扰、牌序、抽牌随机性等。&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;/div&gt;</summary>
		<author><name>Bigbaozi</name></author>
	</entry>
</feed>