Esempio n. 1
0
 /* Public interface methods */
 public QuizGame(ProblemWritter problemWritter)
 {
     this.Rand = new Random();
     this.IsStarted = false;
     this.ProblemWritter = problemWritter;
     this.QuestionTypeList = GetQuestionKindList(problemWritter); // Abstract Implementation
 }
 public static List<IQuestion> getListOfAllKinds(ProblemWritter pw)
 {
     var kinds = new List<IQuestion>();
     kinds.Add(new Summation(pw));
     kinds.Add(new Substraction(pw));
     kinds.Add(new DoubleMult(pw));
     kinds.Add(new Multiplication(pw));
     return kinds;
 }
Esempio n. 3
0
 /* Public interface methods */
 public MathQuizGame(ProblemWritter pw)
     : base(pw)
 {
     SetDefaultParameterValues();
     InitializeTimer();
     // Assigning behavior through events;
     this.AnsweredCorrectly += IncreaseScore;
     this.AnsweredCorrectly += AddTime;
     this.AnsweredWrong += DecreaseScore;
 }
Esempio n. 4
0
 protected abstract List<IQuestion> GetQuestionKindList(ProblemWritter pw);
 public Summation(ProblemWritter problemWritter)
     : base(problemWritter)
 {
 }
 public Substraction(ProblemWritter problemWritter)
     : base(problemWritter)
 {
 }
 public Multiplication(ProblemWritter problemWritter)
     : base(problemWritter)
 {
 }
 public DoubleMult(ProblemWritter problemWritter)
     : base(problemWritter)
 {
 }
Esempio n. 9
0
 /* Abstract method implementation */
 protected override List<IQuestion> GetQuestionKindList(ProblemWritter pw)
 {
     return MathProblemFactory.getListOfAllKinds(pw);
 }
Esempio n. 10
0
 public MathProblem(ProblemWritter problemWritter)
 {
     this.ProblemWritter = problemWritter;
     Rand = new Random();
 }