我最近用lua (Codea)设计并编写了一个乒乓球游戏;你可以在多人游戏和单人游戏中与CPU进行游戏。
我的问题是,我可以让中央处理器来玩完美的bat_cpu = ball_y,但这不会让游戏变得很有趣。
因此,我做了一个简单的不精确系统来计算球将在哪里击中CPU的球棒:
bat_cpu = ball_y + inaccuracy其中,不精确度在前面定义为:
inaccuracy = math.random(-40,40)但是bat仍然准确地遵循ball_y,我希望它能出错,而且不要太快。
有谁知道如何模拟CPU bat,这样它就会犯一些错误(在高速,准确性等方面)
发布于 2013-01-26 04:09:28
您没有提到何时应用此计算,但它很可能是以帧为单位进行的。这意味着您可能应用了这些不准确,但它们在0附近频繁更改意味着您根本看不到效果。
您可以偏置每次命中的随机计算:例如,先计算bias = math.random(-20, 20),然后计算inaccuracy = bias + math.random(-40, 40);然后在每次命中时重置bias。
您还可以移动目标:计算CPU的命中位置,然后随机移动该目标。对于每一帧,你需要根据球的位置进行插值,因为球棒的目标是错误的,所以它对目标的方法也是不准确的,正如你所希望的那样。
https://stackoverflow.com/questions/14529266
复制相似问题