#贴一下程序代码,可以弄下来改改参数计算一下
def 骰子点数(我方单位攻击力, 敌方单位防御力, 战场条件):
点数 = 战场条件 + 我方单位攻击力 - 敌方单位防御力
return 点数
def 计算基础造成战损(单位伤害, 敌方军事战术, 作战能力, 训练度, 是炮兵):
造成战损 = 单位伤害 / 敌方军事战术 * (1 + 作战能力) * (1 + 训练度)
if 是炮兵: 造成战损 = 造成战损 / 2
return 造成战损
def 人员伤亡(骰子点数, 基础战损, 伤害修正, 敌方伤害减免):
return (15 + 5 * 骰子点数) * 基础战损 * (1 + 伤害修正) * (1 - 敌方伤害减免)
def 计算总计造成人员伤亡(我方属性队列, 敌方属性队列,
单位伤害队列, 敌方军事战术, 作战能力,
训练度, 伤害修正队列, 敌方伤害减免队列,
是炮兵=False, 战场条件=5):
# 火力与冲击伤害队列 = []
火力骰子点数 = 骰子点数(我方属性队列[0], 敌方属性队列[1], 战场条件)
冲击骰子点数 = 骰子点数(我方属性队列[2], 敌方属性队列[3], 战场条件)
火力基础战损 = 计算基础造成战损(单位伤害队列[0], 敌方军事战术, 作战能力, 训练度, 是炮兵)
冲击基础战损 = 计算基础造成战损(单位伤害队列[1], 敌方军事战术, 作战能力, 训练度, 是炮兵)
火力人员伤亡 = 人员伤亡(火力骰子点数, 火力基础战损, 伤害修正队列[0], 敌方伤害减免队列[0])
冲击人员伤亡 = 人员伤亡(冲击骰子点数, 冲击基础战损, 伤害修正队列[1], 敌方伤害减免队列[1])
# 火力与冲击伤害队列[0] = 火力人员伤亡
# 火力与冲击伤害队列[1] = 冲击人员伤亡
return 火力人员伤亡 + 冲击人员伤亡
def 炮兵属性加成结果计算(原兵种属性, 炮兵属性):
结果属性 = [0, 0, 0, 0, 0, 0]
for i in range(0, 6):
结果属性[i] = 原兵种属性[i] + 炮兵属性[i] // 2
return 结果属性
军事战术 = 3.5*1.2
作战能力 = 0
#骑兵理念:游牧、贵族、质量、进攻、间谍、革新、经济 政策0.1骑战 0.1骑战 0.05训练 0.1炮兵
#常用理念:质量、进攻、防御、数量、经济、革新、宗教 政策0.05训练 0.1炮兵 0.15步兵 0.1士气
#质量,革新
常用理念步兵作战能力 = 0.25
#游牧0.25,贵族0.15,质量0.1,间谍0.2
骑兵理念骑兵作战能力 = 0.35
常用理念骑兵作战能力 = 0.1
#质量,进攻,经济
炮兵作战能力 = 0.2
训练度 = 1.2
#质量,进攻,经济
常用理念组训练度 = 1.2
我方伤害修正 = [0, 0]
敌方伤害减免 = [0, 0]
步兵伤害 = [3.1, 2.15]
骑兵伤害 = [1, 5]
炮兵伤害 = [8.4, 0.55]
西欧步兵属性 = [4, 4, 4, 3, 4, 3]
西欧骑兵属性 = [0, 2, 6, 4, 5, 4]
炮兵属性 = [4, 4, 2, 4, 3, 3]
西欧步兵加成炮兵属性 = 炮兵属性加成结果计算(西欧步兵属性, 炮兵属性)
西欧骑兵加成炮兵属性 = 炮兵属性加成结果计算(西欧骑兵属性, 炮兵属性)
中华步兵属性 = [4, 4, 3, 3, 3, 3]
中华骑兵属性 = [1, 2, 5, 4, 3, 4]
中华步兵加成炮兵属性 = 炮兵属性加成结果计算(中华步兵属性, 炮兵属性)
中华骑兵加成炮兵属性 = 炮兵属性加成结果计算(中华骑兵属性, 炮兵属性)
# 战场中部表现
双方有炮西欧步兵对西欧骑兵 = 计算总计造成人员伤亡(
西欧步兵加成炮兵属性, 西欧骑兵加成炮兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
双方有炮西欧骑兵对西欧步兵 = 计算总计造成人员伤亡(
西欧骑兵加成炮兵属性, 西欧步兵加成炮兵属性, 骑兵伤害
, 军事战术, 骑兵理念骑兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
炮兵对有炮西欧步兵伤害 = 计算总计造成人员伤亡(
炮兵属性, 西欧步兵加成炮兵属性, 炮兵伤害
, 军事战术, 炮兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免, True)
炮兵对有炮西欧骑兵伤害 = 计算总计造成人员伤亡(
炮兵属性, 西欧骑兵加成炮兵属性, 炮兵伤害
, 军事战术, 炮兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免, True)
西欧步炮对西欧骑炮造成的伤害 = 双方有炮西欧步兵对西欧骑兵 + 炮兵对有炮西欧骑兵伤害
西欧骑炮对西欧步炮造成的伤害 = 双方有炮西欧骑兵对西欧步兵 + 炮兵对有炮西欧步兵伤害
双方有炮中华步兵对中华骑兵 = 计算总计造成人员伤亡(
中华步兵加成炮兵属性, 中华骑兵加成炮兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
双方有炮中华骑兵对中华步兵 = 计算总计造成人员伤亡(
中华骑兵加成炮兵属性, 中华步兵加成炮兵属性, 骑兵伤害
, 军事战术, 骑兵理念骑兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
炮兵对有炮中华步兵伤害 = 计算总计造成人员伤亡(
炮兵属性, 中华步兵加成炮兵属性, 炮兵伤害
, 军事战术, 炮兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免, True)
炮兵对有炮中华骑兵伤害 = 计算总计造成人员伤亡(
炮兵属性, 中华骑兵加成炮兵属性, 炮兵伤害
, 军事战术, 炮兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免, True)
中华步炮对中华骑炮造成的伤害 = 双方有炮中华步兵对中华骑兵 + 炮兵对有炮中华骑兵伤害
中华骑炮对中华步炮造成的伤害 = 双方有炮中华骑兵对中华步兵 + 炮兵对有炮中华步兵伤害
双方有炮西欧步兵对中华骑兵 = 计算总计造成人员伤亡(
西欧步兵加成炮兵属性, 中华骑兵加成炮兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
双方有炮中华骑兵对西欧步兵 = 计算总计造成人员伤亡(
中华骑兵加成炮兵属性, 西欧步兵加成炮兵属性, 骑兵伤害
, 军事战术, 骑兵理念骑兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
西欧步炮对中华骑炮造成的伤害 = 双方有炮西欧步兵对中华骑兵 + 炮兵对有炮中华骑兵伤害
中华骑炮对西欧步炮造成的伤害 = 双方有炮中华骑兵对西欧步兵 + 炮兵对有炮西欧步兵伤害
双方有炮西欧步兵对中华步兵 = 计算总计造成人员伤亡(
西欧步兵加成炮兵属性, 中华步兵加成炮兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
双方有炮中华步兵对西欧步兵 = 计算总计造成人员伤亡(
中华步兵加成炮兵属性, 西欧步兵加成炮兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
西欧步炮对中华步炮造成的伤害 = 双方有炮西欧步兵对中华步兵 + 炮兵对有炮中华步兵伤害
中华步炮对西欧步炮造成的伤害 = 双方有炮中华步兵对西欧步兵 + 炮兵对有炮西欧步兵伤害
print("""
在中部战场(双方炮兵覆盖范围内)
______________________________________
西欧内战:
西欧步炮对西欧骑炮:{}
西欧骑炮对西欧步炮:{}
前者对后者的差值:{}
中华内战:
中华步炮对中华骑炮:{}
中华骑炮对中华步炮:{}
前者对后者的差值:{}
_______________________
西欧对中华
西欧步炮对中华骑炮:{}
中华骑炮对西欧步炮:{}
前者对后者的差值:{}
西欧步炮对中华步炮:{}
中华步炮对西欧步炮:{}
前者对后者的差值:{}
______________________________________
""".format(
西欧步炮对西欧骑炮造成的伤害,
西欧骑炮对西欧步炮造成的伤害,
西欧步炮对西欧骑炮造成的伤害-西欧骑炮对西欧步炮造成的伤害,
中华步炮对中华骑炮造成的伤害,
中华骑炮对中华步炮造成的伤害,
中华步炮对中华骑炮造成的伤害-中华骑炮对中华步炮造成的伤害,
西欧步炮对中华骑炮造成的伤害,
中华骑炮对西欧步炮造成的伤害,
西欧步炮对中华骑炮造成的伤害-中华骑炮对西欧步炮造成的伤害,
西欧步炮对中华步炮造成的伤害,
中华步炮对西欧步炮造成的伤害,
西欧步炮对中华步炮造成的伤害-中华步炮对西欧步炮造成的伤害
))
#战场侧翼表现
西欧步兵对西欧骑兵 = 计算总计造成人员伤亡(
西欧步兵属性, 西欧骑兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
西欧骑兵对西欧步兵 = 计算总计造成人员伤亡(
西欧骑兵属性, 西欧步兵属性, 骑兵伤害
, 军事战术, 骑兵理念骑兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
中华步兵对中华骑兵 = 计算总计造成人员伤亡(
中华步兵属性, 中华骑兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
中华骑兵对中华步兵 = 计算总计造成人员伤亡(
中华骑兵属性, 中华步兵属性, 骑兵伤害
, 军事战术, 骑兵理念骑兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
西欧步兵对中华骑兵 = 计算总计造成人员伤亡(
西欧步兵属性, 中华骑兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
中华骑兵对西欧步兵 = 计算总计造成人员伤亡(
中华骑兵属性, 西欧步兵属性, 骑兵伤害
, 军事战术, 骑兵理念骑兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
西欧步兵对中华步兵 = 计算总计造成人员伤亡(
西欧步兵属性, 中华步兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
中华步兵对西欧步兵 = 计算总计造成人员伤亡(
中华步兵属性, 西欧步兵属性, 步兵伤害
, 军事战术, 常用理念步兵作战能力, 训练度, 我方伤害修正, 敌方伤害减免)
print("""
在侧翼战场(双方炮兵覆盖范围外)
______________________________________
西欧内战:
西欧步兵对西欧骑兵:{}
西欧骑兵对西欧步兵:{}
前者对后者的差值:{}
中华内战:
中华步兵对中华骑兵:{}
中华骑兵对中华步兵:{}
前者对后者的差值:{}
_______________________
西欧对中华
西欧步兵对中华骑兵:{}
中华骑兵对西欧步兵:{}
前者对后者的差值:{}
西欧步兵对中华步兵:{}
中华步兵对西欧步兵:{}
前者对后者的差值:{}
______________________________________
""".format(
西欧步兵对西欧骑兵,
西欧骑兵对西欧步兵,
西欧步兵对西欧骑兵-西欧骑兵对西欧步兵,
中华步兵对中华骑兵,
中华骑兵对中华步兵,
中华步兵对中华骑兵-中华骑兵对中华步兵,
西欧步兵对中华骑兵,
中华骑兵对西欧步兵,
西欧步兵对中华骑兵-中华骑兵对西欧步兵,
西欧步兵对中华步兵,
中华步兵对西欧步兵,
西欧步兵对中华步兵-中华步兵对西欧步兵
))