コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 public abstract bool HitResult(Сompetitor competitor);