コード例 #1
0
        //Creates a collection of attributes that contain only Credibility
        public static Attribs AttributesWithCredibility(int credibilityValue)
        {
            Attribs at = new Attribs();

            at[Attribs.Credibility] = credibilityValue;
            return(at);
        }
コード例 #2
0
        //Sums the distances of attributes that are present in the 'comparedAttributes' collection
        //If one of the dictionaries does not contain the given attribute, no penalty is added (distance is 0).
        public static int Distance(Attribs coll1, Attribs coll2, List <Attrib> comparedAttributes)
        {
            int distance = 0;

            foreach (var attribute in comparedAttributes)
            {
                if (coll1.Values.ContainsKey(attribute) && coll2.Values.ContainsKey(attribute))
                {
                    distance += Math.Abs(coll1.Values[attribute] - coll2.Values[attribute]);
                }
            }
            return(distance);
        }
コード例 #3
0
 public static int AttribsDifference(Attribs a, Attribs b, Attrib attributeName)
 {
     return(a.Values[attributeName] - b.Values[attributeName]);
 }
コード例 #4
0
ファイル: WorldState.cs プロジェクト: Maroslav/PressToPlay
        public void SetValue(Attrib attrib, int value)
        {
            Attribs states = AllStates[attrib.Category];

            states[attrib] = value;
        }
コード例 #5
0
ファイル: WorldState.cs プロジェクト: Maroslav/PressToPlay
        public int GetValue(Attrib attrib)
        {
            Attribs states = AllStates[attrib.Category];

            return(states[attrib]);
        }