public override void MakeAnswer(IProvideQuestion <T> question, List <Information <T> > informations, Dictionary <string, string> dictionary) { try{ var value = CalculateValue(question); AnswerString = string.Format(AnswerStringFormat, question.RawNumber, value); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
protected int CalculateValue(IProvideQuestion <T> q) { var parser = new RomanToDecimanlLikeNumeralParser <RomanLanguage>(); var value = parser.ParseNumber(q.Information.Number); foreach (var i in Question.Knowledge.Informations) { if (i.Item.Equals(Question.Information.Item)) { var iNumberDecimal = parser.ParseNumber(i.Number); var perItem = (double)i.Value / iNumberDecimal; value = (int)perItem * value; break; } } return(value); }
public abstract void MakeAnswer(IProvideQuestion <T> question, List <Information <T> > informations, Dictionary <string, string> dictionary);