Simplify messaging

This commit is contained in:
Andrew Cooper
2022-03-30 11:04:38 +11:00
parent 74698c41c4
commit 741b135d99
2 changed files with 58 additions and 60 deletions

View File

@@ -10,19 +10,18 @@ internal class Scoreboard
private Team _home;
private Team _visitors;
private Team _offense;
public Scoreboard(Team home, Team visitors, IReadWrite io)
{
_scores = new() { [home] = 0, [visitors] = 0 };
_home = home;
_visitors = visitors;
_offense = home;
Offense = home;
_io = io;
}
public bool ScoresAreEqual => _scores[_home] == _scores[_visitors];
public Team Offense { set => _offense = value; }
public Team Offense { get; set; }
public void AddBasket(string message) => AddScore(2, message);
@@ -31,12 +30,17 @@ internal class Scoreboard
private void AddScore(uint score, string message)
{
_io.WriteLine(message);
_scores[_offense] += score;
_scores[Offense] += score;
Turnover();
Display();
}
public void Turnover() => _offense = _offense == _home ? _visitors : _home;
public void Turnover(string? message = null)
{
if (message is not null) { _io.WriteLine(message); }
Offense = Offense == _home ? _visitors : _home;
}
public void Display(string? format = null) =>
_io.WriteLine(format ?? Resource.Formats.Score, _home, _scores[_home], _visitors, _scores[_visitors]);