private Punt BepaalVolgendePunt(Punt vorigePunt, SpelerScore scoreVanAndereSpeler) { if (vorigePunt.IsGelijkAan(new StartPunt())) { return new EerstePunt(); } if (vorigePunt.IsGelijkAan(new EerstePunt())) { return new TweedePunt(); } if (vorigePunt.IsGelijkAan(new TweedePunt())) { return new DerdePunt(); } if (vorigePunt.IsGelijkAan(new DerdePunt())) { return BepaalVolgendePuntBijDerdePunt(scoreVanAndereSpeler); } if (HeeftAdvantage()) { _totaleGameScore.Verhoog(); scoreVanAndereSpeler.ResetHuidigeGameScore(); return new StartPunt(); } throw new InvalidOperationException(); }
public void VoegPuntToe(SpelerScore scoreVanAndereSpeler) { _huidigeGameScore = BepaalVolgendePunt(_huidigeGameScore, scoreVanAndereSpeler); }
private void ZetDeuce() { _huidigeGameScore = new DerdePunt(); }
public bool ScoreIsGelijkAan(Punt punt) { return _huidigeGameScore.IsGelijkAan(punt); }
private void ResetHuidigeGameScore() { _huidigeGameScore = new StartPunt(); }