mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-22 23:26:40 -08:00
Simplify messaging
This commit is contained in:
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user