public void SetRoundAnswers(List <Question> answers, int roundNumber) { for (int i = 0; i < answers.Count; i++) { AnswerSet.SetAnswer(roundNumber, i, answers[i]); } ScoreNeedsUpdated = true; }
public ScoringTeam(Team t, int numRounds, int numQuestions, int pointsPerQuestion) { Team = t; Score = 0; AnswerSet = new AnswerSet(numRounds, numQuestions); ScoreNeedsUpdated = false; BonusRoundAnswers = new List <BonusRoundAnswer>(); _pointsPerQuestion = pointsPerQuestion; }
public bool HasRoundBeenScored(int roundNumber) { var roundAnswers = AnswerSet.GetAnswersForRound(roundNumber); foreach (var a in roundAnswers) { if (a == Question.NotJudged) { return(false); } } return(true); }
public void UpdateScore() { if (ScoreNeedsUpdated) { int score = 0; var answers = AnswerSet.GetNonBonusAnswers(); for (int i = 0; i < answers.Count; i++) { for (int j = 0; j < answers[i].Count; j++) { if (answers[i][j] == Question.Correct) { score += _pointsPerQuestion; } else if (answers[i][j] == Question.NotAnswered) { score += (_pointsPerQuestion / 2); } } } foreach (var bonus in BonusRoundAnswers) { if (bonus.Answer == Question.Correct) { score += bonus.Wager; } else if (bonus.Answer == Question.Incorrect) { score -= bonus.Wager; } } Score = score; ScoreNeedsUpdated = false; } else { return; } }
public List <Question> GetNonBonusRoundAnswers(int roundNumber) { List <Question> answers = AnswerSet.GetAnswersForRound(roundNumber); return(answers); }
public List <List <Question> > GetAllNonBonusAnswers() { return(AnswerSet.GetNonBonusAnswers()); }