1

我最近在 lua (codea) 中设计并编写了一个乒乓球游戏;您可以在多人游戏和单人游戏中与 CPU 对战。

我的问题是,我可以让 CPU 完美运行bat_cpu = ball_y,但这不会让游戏变得很有趣。

因此,我制作了一个简单的不准确系统来计算球将击中 CPU 球棒的位置:

bat_cpu = ball_y + inaccuracy

前面将不准确性定义为:

inaccuracy = math.random(-40,40)

但是球棒仍然准确地跟随ball_y,我希望它犯错误,而不是那么快。

有谁知道如何模拟 CPU bat 所以它会犯一些错误(在高速、准确性等方面)

4

1 回答 1

2

您没有提及何时应用此计算,但它可能会在每帧的基础上完成。这意味着您可能会应用这些不准确之处,但它们在 0 附近如此频繁地更改意味着您根本看不到效果。

您可以偏向每次命中的随机计算:例如,bias = math.random(-20, 20)然后inaccuracy = bias + math.random(-40, 40); bias然后你在每次点击时重置。

您还可以移动目标:计算 CPU 命中应该发生的位置,然后他们随机移动该目标。对于每一帧,您都需要根据您希望击球棒所在的球位置进行插值,并且由于击球目标是错误的,因此它对目标的接近也将不准确,如您所愿。

于 2013-01-25T20:09:27.740 回答