如何检测游戏中玩家的攻击性?

blu*_*ral 3 c artificial-intelligence

我正在为gameboy advance编写游戏,我正在以二叉搜索树的形式实现基本的AI.有1个人类玩家和1个电脑玩家.我需要找出一种方法来告诉人类玩家攻击计算机的攻击性.人类将按下按钮进行攻击(并且必须在计算机的某个半径范围内),所以我首先想到的是看到攻击次数与我的主while循环经历的迭代次数相比有多大.这似乎是一种糟糕的方式,因为这个数字将取决于帧速率,帧速率可能会波动.有没有人有更好的方法来做到这一点?

Chr*_*utz 13

为什么不只计算人类玩家可以攻击计算机玩家的时刻?我的意思是,你显然必须检查他是否在范围内,所以为什么不检查他是否在范围内,如果他是,则增加could_have_attacked计数器.然后如果他确实进行了攻击,则增加一个attacked计数器.然后,您可以比较人类玩家攻击的频率与他有机会的频率.

或者,比较他在范围内的频率与他不在范围内的频率,或更一般地跟踪玩家之间的平均距离.更积极的玩家可能会比被动玩家更接近他们的对手.

您最好的选择可能是不同方法的组合.保持几种不同的测量方法,并尝试几种不同的方法来相互对称,并使用广泛的游戏测试来选择哪一种更好.