有兩個士兵,基礎攻擊都是60和血量都是1000,A士兵的技能是攻擊時附帶當前生命值5%的額外傷害,B...
Создано: 8 февраля 2025 г.
Отвечено с использованием O3 Mini High от Chat01
Создано: 8 февраля 2025 г.
Отвечено с использованием O3 Mini High от Chat01
有兩個士兵,基礎攻擊都是60和血量都是1000,A士兵的技能是攻擊時附帶當前生命值5%的額外傷害,B士兵則是攻擊時有30%機率造成最大生命直7%的傷害,A士兵先攻擊的情況下,那個士兵能活到最後
pythonimport random # 設定初始數值 A_health = 1000 B_health = 1000 A_attack_base = 60 B_attack_base = 60 A_damage_percentage = 0.05 # A士兵的額外傷害比例 B_critical_percentage = 0.30 # B士兵的額外傷害機率 B_critical_damage = 0.07 # B士兵的額外傷害百分比 # 模擬戰鬥 rounds = 0 while A_health > 0 and B_health > 0: rounds += 1 # A士兵攻擊 A_damage = A_attack_base + (A_damage_percentage * A_health) B_health -= A_damage if B_health <= 0: winner = "A" break # B士兵攻擊 if random.random() < B_critical_percentage: B_damage = B_attack_base + (B_critical_damage * 1000) # B士兵的額外傷害 else: B_damage = B_attack_base A_health -= B_damage if A_health <= 0: winner = "B" break # 輸出結果 winner, rounds, A_health, B_health
pythonimport random # 設定初始數值 A_health = 1000 B_health = 1000 A_attack_base = 60 B_attack_base = 60 A_damage_percentage = 0.05 # A士兵的額外傷害比例 B_critical_percentage = 0.30 # B士兵的額外傷害機率 B_critical_damage = 0.07 # B士兵的額外傷害百分比 # 模擬戰鬥 rounds = 0 while A_health > 0 and B_health > 0: rounds += 1 # A士兵攻擊 A_damage = A_attack_base + (A_damage_percentage * A_health) B_health -= A_damage if B_health <= 0: winner = "A" break # B士兵攻擊 if random.random() < B_critical_percentage: B_damage = B_attack_base + (B_critical_damage * 1000) # B士兵的額外傷害 else: B_damage = B_attack_base A_health -= B_damage if A_health <= 0: winner = "B" break # 輸出結果 winner, rounds, A_health, B_health
根據模擬結果,B士兵最終獲勝,並且戰鬥持續了11回合。A士兵在第11回合結束時已經死亡,而B士兵剩餘35.5的生命。