足球(足球)比赛处理

时间:2017-03-29 09:41:27

标签: algorithm real-time

我想实现足球比赛处理,所以我花了很多时间找到好的算法来做到这一点。我有一些数据作为输入 - 有一些参数的玩家。一些参数是静态的,而匹配是处理(技能),其中一些是动态的(物理状态,心理状态),正在改变过程。我也有外部参数,我可以手动更改。我不需要它如此接近真正的足球(不包括结果。无论如何20:0会很糟糕)。最后一个主要想法是相同的输入不会导致相同的输出。一些中间计算应该返回随机值。

算法不应该非常慢,因为在不久的将来,有必要一步一步地同时处理大约1000个匹配。每步将每3秒计算一次。而且这些步骤应该是逻辑上的联系,因为我将与所有球和球员的动作进行图形匹配过程。

您可以为我推荐哪些算法?我想到了神经网络,但我不确定这是一个很好的解决方案。

你真的会帮助我,因为我花了大约半年才找到它,所以非常感谢你!

1 个答案:

答案 0 :(得分:0)

让我们说你有一个"动作"每5分钟一场比赛,所以90/5 = 18次动作。为了使其更逼真,您可以选择随机数,如:

numberOfActions = round(10,20);

此号码可以显示为()的长度。 比你在两套球员的防守和进攻参数之间有相互作用。让我们说每一个攻击点A-defenceB创造了10%的成功机会:

if((TeamA.Offence-TeamB.Defence)*10 > round(0,100))
{
  TeamA.points++;
}

当然守门员可以降低这种可能性,甚至可能显着降低 等等。当然你可以让它变得更复杂。就像你可以比较某些球员的统计数据一样,取决于谁拥有球。您的攻击和防御参数都可以按时间减少并按条件提高:

TeamA._realOffenceValue = 
    TeamA.Offence*
    (1-i/numberOfActions)*
    (TeamA.leftOffencePlayer.Condition);

请记住,在足球经理或Europa Universalis这样的游戏中,关于欺骗玩家的一切都是如此。平衡游戏是一项长达数小时的工作,没有人会在论坛上为你做到这一点:)