我想实现足球比赛处理,所以我花了很多时间找到好的算法来做到这一点。我有一些数据作为输入 - 有一些参数的玩家。一些参数是静态的,而匹配是处理(技能),其中一些是动态的(物理状态,心理状态),正在改变过程。我也有外部参数,我可以手动更改。我不需要它如此接近真正的足球(不包括结果。无论如何20:0会很糟糕)。最后一个主要想法是相同的输入不会导致相同的输出。一些中间计算应该返回随机值。
算法不应该非常慢,因为在不久的将来,有必要一步一步地同时处理大约1000个匹配。每步将每3秒计算一次。而且这些步骤应该是逻辑上的联系,因为我将与所有球和球员的动作进行图形匹配过程。
您可以为我推荐哪些算法?我想到了神经网络,但我不确定这是一个很好的解决方案。
你真的会帮助我,因为我花了大约半年才找到它,所以非常感谢你!
答案 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这样的游戏中,关于欺骗玩家的一切都是如此。平衡游戏是一项长达数小时的工作,没有人会在论坛上为你做到这一点:)