示例#1
0
        public void GameRound(RpsMode userChoice)
        {
            if (userChoice == RpsMode.None)
            {
                return;
            }

            RpsMode aiChoice = (RpsMode)random.Next(1, 4);

            UserData.AiChoice   = aiChoice;
            UserData.UserChoice = userChoice;

            if (aiChoice == RpsMode.Rock && userChoice == RpsMode.Paper ||
                aiChoice == RpsMode.Paper && userChoice == RpsMode.Scissors ||
                aiChoice == RpsMode.Scissors && userChoice == RpsMode.Rock)
            {
                UserData.WinCounter++;
                UserData.IsWinner = true;
            }
            else if (aiChoice == userChoice)
            {
                UserData.DrawCounter++;
                UserData.IsWinner = null;
            }
            else
            {
                UserData.LossCounter++;
                UserData.IsWinner = false;
            }
        }
    public override void Handle(GameSession session, PacketReader packet)
    {
        RpsMode mode = (RpsMode)packet.ReadShort();

        switch (mode)
        {
        case RpsMode.OpenMatch:
            HandleOpenMatch(session);
            break;

        case RpsMode.RequestMatch:
            HandleRequestMatch(session, packet);
            break;

        case RpsMode.ConfirmMatch:
            HandleConfirmMatch(session, packet);
            break;

        case RpsMode.DenyMatch:
            HandleDenyMatch(session, packet);
            break;

        case RpsMode.CancelRequestMatch:
            HandleCancelRequestMatch(session, packet);
            break;

        case RpsMode.SelectRpsChoice:
            HandleSelectRpsChoice(session, packet);
            break;

        case RpsMode.ClaimReward:
            HandleClaimReward(session, packet);
            break;

        case RpsMode.ConfirmMatch2:
            HandleConfirmMatch2(session, packet);
            break;

        default:
            LogUnknownMode(mode);
            break;
        }
    }
示例#3
0
        public void GameRound(RpsMode userChoice)
        {
            bool?   isWinner = null;
            RpsMode aiChoice = (RpsMode)random.Next(1, 4);

            if (aiChoice == RpsMode.Rock && userChoice == RpsMode.Paper ||
                aiChoice == RpsMode.Paper && userChoice == RpsMode.Scissors ||
                aiChoice == RpsMode.Scissors && userChoice == RpsMode.Rock)
            {
                userData.WinCounter++;
            }
            else if (aiChoice == userChoice)
            {
                userData.DrawCounter++;
            }
            else
            {
                userData.LossCounter++;
            }
        }
示例#4
0
        public void GameRound(RpsMode UserChoice)
        {
            RpsMode aiChoice = (RpsMode)random.Next(1, 4);

            if (aiChoice == RpsMode.Rock && UserChoice == RpsMode.Paper ||
                aiChoice == RpsMode.Scissors && UserChoice == RpsMode.Rock ||
                aiChoice == RpsMode.Paper && UserChoice == RpsMode.Scissors)
            {
                userData.WinCounter++;
                userData.IsWinner = true;
            }
            else if (aiChoice == UserChoice)
            {
                userData.DrawCounter++;
                userData.IsWinner = null;
            }
            else
            {
                userData.LossCounter++;
                userData.IsWinner = false;
            }
        }