# 战斗Demo方案 ```{admonition} 作者   早起侠 ``` ## 1.⽅案 ### 1.1 武器与技能   3种武器:剑盾、⼤锤、⼸箭。   每种武器有2个技能。所有武器都可以跳跃、防御。 #### 剑盾   技能1 - 劈砍:攻击速度快,低伤害,距离近。特殊效果:连击 - 每次劈砍⼏种敌⼈产⽣1点连击,持续较短时间,每点连击增加10%劈砍的伤害;若⾃⾝受到未被防御的伤害,则取消所有连击。   技能2 - 盾击:攻击速度快,极低伤害,距离近。特殊效果:盾击动作的前⼀半时间附带防御效果。   防御:减少60%伤害。   跳跃:略。 #### ⼤锤   技能1 - 锤击:攻击速度中,中伤害,距离中。   技能2 - 锤击plus:攻击速度慢,⾼伤害,距离中。特殊效果:给予对⽅易伤,持续较短时间,易伤时间伤害加倍。   防御:减少80%伤害。   跳跃:略。 #### ⼸箭   技能1 - 射击:攻击速度中,低伤害,距离远。   技能2 - 射击plus:攻击速度慢,中伤害,距离极远。   防御:减少20%伤害。   跳跃:略。 ### 部分具体设定 #### 剑盾 |-|劈砍|盾击|防御| |-|-|-|-| |前摇|0.5秒|0.5秒|-| |后摇|0.5秒|0.5秒|-| |伤害|10|5|-| |减伤|-|60%|60%| |距离|5|5|-| |特殊能⼒|连击|-|-|   连击:每次劈砍⼏种敌⼈产⽣1点连击,持续3s,每点连击增加10%劈砍的伤害。   盾击在前摇时有防御效果,后摇时没有。   移动速度 10   ⾎量 120   跳跃时,还可以进⾏劈砍和盾击 #### ⼤锤 |-|锤击|锤击plus|防御| |-|-|-|-| |前摇|1 − 1.5秒|2 − 3秒|-| |后摇|1秒|1秒|-| |伤害|20|30|-| |减伤|-|-|80%| |距离|8|8|-| |特殊能⼒|易伤|-|-|   易伤:持续3s,有易伤效果时,受到的伤害加倍   移动速度 8   ⾎量 150   跳跃时,不能进⾏其他动作 #### ⼸箭 |-|射击|射击plus|防御| |-|-|-|-| |前摇|1秒|3秒|-| |后摇|1秒|1秒|-| |伤害|10|20|-| |减伤|-|-|20%| |距离|15|22|-|   移动速度 12   ⾎量 100   跳跃时,不能进⾏其他动作 #### ⽋缺设定   跳跃的具体设定。攻击碰撞与跳跃。   战场⼤⼩。 ### 1.2 关卡   玩家有3个⼩⼈,3种武器各1个。 * 第⼀关:   训练时,敌⼈的武器是剑盾、⼤锤、⼸箭中任意⼀个,需要为这个敌⼈编写简单的战⽃AI。   战⽃时,敌⼈与训练时相同,但具备1.5倍的⾎量、1.5倍的伤害。   玩家选择任意1个⼩⼈携带任意武器战⽃。 * 第⼆关:   训练时,有2个敌⼈可选,A.第⼀关的敌⼈,B. 玩家通过第⼀关的⼩⼈。   战⽃时,训练中的2个敌⼈都上场,并且的⾎量和伤害是训练时1.5倍。   玩家选择任意2个⼩⼈携带2个不重复的武器战⽃。 * 第三关:   训练时,有3个敌⼈可选,玩家通过第⼀关的⼩⼈,玩家通过第⼆关的⼩⼈1,玩家通过第⼆关的⼩⼈2。   战⽃时,训练中的3个敌⼈都上场,并且的⾎量和伤害是训练时1.5倍。   玩家的3个⼩⼈携带3种武器战⽃。 ### 1.3 决策树接⼝   在决策树部分,暴露⼀些接⼝,让我们可以尝试⽤调整决策树的⽣成⽅式。   最简单的⽅式是,决策树的条件(training_input的不同列)可以增减。 ### 1.4 ⾎条显⽰   增加⾎条、伤害的显⽰。 ## 2.⽅案解释   也许,⽅案最好不要解释,这样看⽅案的⼈更容易独⽴地评判⽅案的好坏。   如果你也这么觉得,就先不看后⾯的解释,评判⼀下这个⽅案。   我还是想做⼀些解释说明。   -   “1.1 武器与技能”和“1.2 关卡”主要是为了回答核⼼玩法的问题。我也想不清楚,但我们⼤概也只有通过制作才能逐渐清楚。所以在现有的条件下,尽可能给出⼀个答案即可。   之前的⽂档中,和核⼼玩法有关的,有3个:   [《⻆⾊和招式》](char-skill.md)   [《战⽃体验》](battle-experience.md)   [《有关 AI 训练的三个想法》](3-ml-thoughts.md)   我选择了较稳妥的⽅案 —— “战⽃体验”中4个颜⾊的⽅案,我不容易想象;“有关 AI 训练的三个想法”中的⽅案,有挺多不确定;“⻆⾊和招式”的⽅案,⽐较平实⼀些。所以,我在“⻆⾊和招式”的基础上,去掉⼀些我不清楚的、加⼊点我的想法,形成了现在的⽅案。   之前的玩法所⽋缺的,也许可以描述为差别和挑战。核⼼玩法,都为解决这个。   -   “1.3 决策树接⼝”。我觉得,需要去更多地了解机器学习的原理和效果,所以就加⼊了这个部分。其实它和“有关 AI 训练的三个想法”中“2. 不同的性格”是⼀码事。不过,这回没有说去实现什么效果,只是让我们能够⽐较⽅便地试⼀试。   -   “1.4.⾎条显⽰”是解决游戏中反馈的⼀个缺陷。