Esempio n. 1
0
        public static KnbResult Play()
        {
            var    result = new KnbResult();
            Random rnd    = new Random();

            result.Player1Gesture = (KnbGesture)rnd.Next((int)KnbGesture.Rock, (int)KnbGesture.Scissors + 1);
            result.Player2Gesture = (KnbGesture)rnd.Next((int)KnbGesture.Rock, (int)KnbGesture.Scissors + 1);

            if (result.Player1Gesture == result.Player2Gesture)
            {
                result.Result = KnbResultType.Draw;
            }
            else
            {
                int max = Math.Max((int)result.Player1Gesture, (int)result.Player2Gesture);
                int min = Math.Min((int)result.Player1Gesture, (int)result.Player2Gesture);

                int delta = max - min;

                if (delta == 1)
                {
                    if ((int)result.Player1Gesture == min)
                    {
                        result.Result = KnbResultType.Player1Won;
                    }
                    else
                    {
                        result.Result = KnbResultType.Player2Won;
                    }
                }
                else
                {
                    if ((int)result.Player1Gesture == max)
                    {
                        result.Result = KnbResultType.Player1Won;
                    }
                    else
                    {
                        result.Result = KnbResultType.Player2Won;
                    }
                }
            }

            return(result);
        }
Esempio n. 2
0
        private string FormKnbResultResponse(KnbResult result, string player1Name, string player2Name)
        {
            var response = "";

            response += $"{player1Name}: {result.Player1Gesture.ToString()}" + Environment.NewLine;
            response += $"{player2Name}: {result.Player2Gesture.ToString()}" + Environment.NewLine;

            switch (result.Result)
            {
            case KnbResultType.Player1Won: response += $"Победил {player1Name}!"; break;

            case KnbResultType.Player2Won: response += $"Победил {player2Name}!"; break;

            case KnbResultType.Draw: response += $"Ничья!"; break;

            default: response += "Шото пошло не так. Не смог вычислить победителя."; break;
            }

            return(response);
        }