如何在射击游戏中设置精灵的概率?

时间:2010-04-08 08:45:54

标签: cocoa-touch cocos2d-iphone probability

我的游戏是cocos2d中的小型射击游戏。敌人每隔一段时间生成子弹射击玩家。我已经创建了一个随机的y,因此子弹在随机高度触及相反的边缘。如果子弹触及玩家则敌人获胜 但是,我需要设定敌人准确度的概率。如果敌人的概率是80%的准确度?我该怎么设置我的程序?对于10次射击,8应该直接朝向玩家 我怎样才能决定哪一个应该直截了当哪一个应该错过。同时玩家也会射击敌人。

谢谢。

1 个答案:

答案 0 :(得分:2)

我会这样做。

假设您的玩家有位置y。要获得80%的准确度,请从区间[y - height*0.2, y + height*0.2]中选择一个随机数,其中height是屏幕的高度。一般来说,要获得准确度,请从[y - height*(1-p), y + height*(1-p)]中选择一个数字。当p = 1.0(100%)时,子弹将完全瞄准玩家的位置。

这并不意味着准确度为80%的敌人会在玩家身上完成10次射击中的8次,但是子弹越接近就越准确。

这当然忽略了子弹旅行的时间,但这可以包含在没有太多工作的情况下。