public override bool HitResult(Сompetitor competitor) { switch (competitor) { case Paper paper: paper.IsAlive = false; return(true); case Scissors scissors: return(false); case Rock rock: IsAlive = false; return(false); } ; return(false); }
public Game(int amount) { if (amount <= 0) { throw new InvalidEnumArgumentException("The number of competitors must be a positive number"); } _competitors = new List <Сompetitor>(amount); var rand = new Random(); for (var i = 0; i < amount; i++) { var random = rand.Next() % 3; Сompetitor competitor = random switch { 0 => new Paper(), 1 => new Rock(), 2 => new Scissors(), _ => throw new InvalidOperationException("Unable to create competitor from the given index") }; _competitors.Add(competitor); } }
public abstract bool HitResult(Сompetitor competitor);