示例#1
0
        public static void ValidateRound(params Player[] round)
        {
            if (round.ToList().Count != 2)
            {
                throw new Exception("insufficient players");
            }
            var listError = round.Where(s => !s.HandSign.Sign.ToString().Contains(GameEnumHelper.GetName(HandSignEnum.Paper)) &&
                                        !s.HandSign.Sign.ToString().Contains(GameEnumHelper.GetName(HandSignEnum.Rock)) &&
                                        !s.HandSign.Sign.ToString().Contains(GameEnumHelper.GetName(HandSignEnum.Scissors)));

            if (listError.Any())
            {
                throw new Exception("invalid values");
            }
        }
示例#2
0
        public static Player GetWinner(Player player1, Player player2)
        {
            Console.WriteLine($"{player1.Name}: {GameEnumHelper.GetName(player1.HandSign.Sign)} vs {player2.Name}: {GameEnumHelper.GetName(player2.HandSign.Sign)} ");
            if (GetWinningMove(player1.HandSign.Sign).Equals(player2.HandSign.Sign))
            {
                Console.WriteLine($"Player {player2.Name} won the round, advances to the next round");
                Console.WriteLine("--------------------------------------------------");
                return(player2);
            }

            if (GetWinningMove(player2.HandSign.Sign).Equals(player1.HandSign.Sign))
            {
                Console.WriteLine($"Player {player1.Name} won the round, advances to the next round");
                Console.WriteLine("--------------------------------------------------");
                return(player1);
            }

            return(null);
        }