2013-07-01 61 views
3

很多挖我發現這個問題Improving soccer simulation algorithm並把它轉換到C#,和演員,如健身,士氣,爲此,以多種方式影響比賽的球員的各種統計數據增加了後。我正在努力的是在形成的想法工作。工作形成算法爲足球模擬

在分鐘,當你把你的收視率最高的球員在每個那些位置和它們的平均數不還原1-1-1陣型將是最好的陣容,由於具有較低統計的其他球員,我會就像5-4-1比4-4-2有更好的防守效果,而所有的防守球員都是平等的,這將比3-4-3更好。

我怎麼會去製作標記爲捍衛者更好的球員的平均值,當有相等的統計數據更多的球員比對方?

+0

強作爲一個足球迷,我並不總是認爲有一個5人的防守比4的人之一,但多數民衆贊成除了好點,據我所知,這這就是爲什麼遊戲具有個人技能的個人數據/評級,而球員的評級取決於他們的個人數據。 – Sayse

+0

球員都有自己的個人數據,但是現在,一名防守得分爲10的球員是更好的防守總數超過4名球員,每個球員的得分爲8分,這就是爲什麼我指定了所有球員等於 – bizzehdee

+0

我認爲你需要考慮讓球員處於防守位置(這可能是所有10名球員取決於你的比賽,以及比賽目前發生的位置)(例如,freekick或3-2-3 -2陣型)) – Sayse

回答

1

最簡單的辦法就是總結的統計數據,而不是它們平均的。我認爲兩名擁有「5」的球員幾乎和一名擁有「10」的球員一樣好,甚至更好。

除了這一點,你可以加入一些縮放因子。例如,玩家在一組互爲因果,所以作爲一個團隊,他們有效地發揮比單獨更好:

var playerCount = playersInLine.Count(); 
var teamFactor = Math.Pow(1.5, (playerCount-6)) - (1.5)^(-5)); 
var playerRates = playersInLine.Select(p => p.Rate + p.Rate * teamFactor); 

var lineRate = playerRates.Sum(); 

的配方,增加了根據該公式球員速度:link。我認爲有6名球員最大的一條線,但我不知道很多關於足球的,所以你可能會想改變這種狀況;)

你可以用它調整,因此例如不會改變評級對於很多玩家疲軟,但僅限於球員比5等

+0

類似的結論是什麼我結束了無論如何,謝謝你的努力,但一些好主意:) – bizzehdee