这一部分的代码,在4月19日既已完成,唯尚无测试报告。
  建立空框架的部分比较简单,只是将behaviorshoot.h/cpp的代码全部复制到behaviorshooot.h/cpp,把类名改掉,取消BehaviorShootExecuter的注册,并在BehaviorAttack中把"BehaviorShoot"换成"BehaviorShooot"。
  关于那段心形代码,那里本来应该隐藏一段调侃的话,既是调侃,又是我想说的,意思与形象也相近。但经历了4月16日以后,它最终被换成了相反的一句话。
  在合并踢球和铲球的过程中,发现了一个之前没有考虑过的问题——球可以被踢到任意方向,或者说任给一个方向,可以判断球是否能被踢到这个方向;铲球则不然,只能判断球是否能被铲到与这个方向相近的一个量化方向,量化精度是1°,这是因为铲球的计算较为复杂,只好提前算出来。这个量化方向到底在给定方向的左边还是右边是无法事先确定的,即给定区间[a, b]中的一个角度,得出的量化方向不能保证仍在[a, b]中。给后面带来的主要影响是概率计算部分要能判断出给定的角度是否能打进球门里。
  由于现在的结构中有一个与其枚举顺序相关的可行性剪枝,为了避免剪掉可行枝,代码有的地方很不美观,待写入新的枚举顺序后,就可以撤掉这个剪枝了。