Ok, jag kan ge en kort sammanfattning här:
* DataEvaluation: En klass som ska ta hand om att räkna ut individuella spelares värden samt lagvärdet. Det är tänkt att man ska kunna använda en egen klass som substitut för denna så småningom om man vill mixtra själv med att göra bra värden.
* teamval räknar ut lagvärdet för laget. Här finns ett antal magiska tal, som är till för att se till att laget blir balanserat (jämn fördelning av försvarare, mittfältare och anfallare samt inte har för stor övervikt åt endera kanten).
* Övriga funktioner är till för att räkna ut individuella spelares värden på olika positioner. Använder sig av olika attribut och vikt för dessa.
* TeamSelector: Huvudklassen, är en klass för att man ska kunna spara undan några resultat på vägen så man slipper räkna ut dem flera gånger.
* get_player_table(): Hämtar alla spelares värden för alla olika positioner.
* select_team(): Väljer ut ett lag och returnerar ett objekt med det uttagna laget.
* __calc_team(): Räknar ut den bästa uppställningen för en viss formation. Notera att den måste ha en grunduppställning för att kunna arbeta. Fungerar så att den byter plats på olika personer i laget och ser om det blir bättre. Om det gör det, reiterera, annars byt plats på några andra.
* __calc_formation(): Räknar ut det bästa laget inklusive vilken formation den tycker är bäst. Även här måste man ha en grunduppställning.
* __internal_select_team(): Räknar fram en grunduppställning och sedan anropar __calc_*-funktionerna.
* __set_real_pos(): Utgående från en given position och dess extra-order (in i mitten, offensiv, etc.) räknar ut vilken funktion i DataEvaluation som ska användas.
* __calc_player_table(): Räknar fram alla spelares värden för de olika positionerna.
Kort, men lite mer info iaf.
/Ragnar Ouchterlony