public virtual LevelScore Score() { int bestCase = WordIdOpenCount.Count * 4 - 2; int currentCase = WordIdOpenCount.Sum(s => s.Value); int score = StarasFunction(bestCase, currentCase); return(new LevelScore(GameLevelId, score, Type)); }
public virtual IList <WordKnowledge> Qualify() { if (chached) { return(wordKnowledges); } chached = true; WordIdOpenCount.ForEach((metric) => { WordKnowledge wordKnowledge = new WordKnowledge(metric.Key, LevelFromMetric(metric.Value), GetComplexity(Type)); wordKnowledges.Add(wordKnowledge); }); return(wordKnowledges); }