import random

# 兵种数据
soldier = {
    "步兵": {"血":80,"攻":15},
    "骑兵": {"血":60,"攻":28},
    "弓兵": {"血":45,"攻":32}
}

# 两军兵力
红方 = [("步兵",10),("骑兵",5),("弓兵",8)]
蓝方 = [("步兵",9),("骑兵",6),("弓兵",7)]

def 算战力(军队):
    总血 = 0
    总攻 = 0
    for 兵种,数量 in 军队:
        总血 += soldier[兵种]["血"] * 数量
        总攻 += soldier[兵种]["攻"] * 数量
    return 总血,总攻

def 开战():
    print("====战争兵棋推演====")
    红血,红攻 = 算战力(红方)
    蓝血,蓝攻 = 算战力(蓝方)
    回合 = 1

    while 红血>0 and 蓝血>0:
        print(f"\n第{回合}回合")
        伤红 = random.randint(int(蓝攻*0.7),int(蓝攻*1.3))
        伤蓝 = random.randint(int(红攻*0.7),int(红攻*1.3))
        
        红血 -= 伤红
        蓝血 -= 伤蓝
        红血 = max(红血,0)
        蓝血 = max(蓝血,0)
        
        print(f"红方血量：{红血}")
        print(f"蓝方血量：{蓝血}")
        回合 += 1

    print("\n====战局结束====")
    if 红血 > 蓝血:
        print("红方胜利")
    elif 蓝血 > 红血:
        print("蓝方胜利")
    else:
        print("两军平局")

开战()