예제 #1
0
        public void GetRewardCorrectly(int expected, int bet, PokdengInfo.PlayerResult presult)
        {
            var player = new Pokdeng();
            var result = player.GetReward(bet, presult);

            Assert.Equal(expected, result);
        }
예제 #2
0
        public void PlayerThatHasbounceHisResultMustBeUnbounceResultBeforeCompare(PokdengInfo.PlayerResult expected, PokdengInfo.PlayerResult pResult)
        {
            var player = new Pokdeng();
            var result = player.ConvertToUnbounceResult(pResult);

            Assert.Equal(expected, result);
        }
예제 #3
0
        public void PlayersGetSameResultGameResultMustBeDraw(string expected, PokdengInfo.PlayerResult p1Result, PokdengInfo.PlayerResult p2Result)
        {
            var player = new Pokdeng();
            var result = player.GetWinnerBySpecialResult(p1Result, p2Result);

            Assert.Equal(expected, result);
        }
예제 #4
0
        public void PlayerGetMultipleResult(PokdengInfo.PlayerResult expected, int p1CardNo1, int p1CardNo2, int p1CardNo3, string p1CardSymbol1, string p1CardSymbol2, string p1CardSymbol3)
        {
            var player = new Pokdeng();
            var result = player.GetRewardType(p1CardNo1, p1CardNo2, p1CardNo3, p1CardSymbol1, p1CardSymbol2, p1CardSymbol3);

            Assert.Equal(expected, result);
        }
예제 #5
0
 public string GetWinnerBySpecialResult(PokdengInfo.PlayerResult p1Result, PokdengInfo.PlayerResult p2Result)
 {
     if (p1Result < p2Result)
     {
         return(PokdengInfo.GameResult.Player1Win);
     }
     else if (p2Result < p1Result)
     {
         return(PokdengInfo.GameResult.Player2Win);
     }
     else
     {
         return(PokdengInfo.GameResult.Draw);
     }
 }
예제 #6
0
 public PokdengInfo.PlayerResult ConvertToUnbounceResult(PokdengInfo.PlayerResult result)
 {
     if ((int)result >= 20)
     {
         return(PokdengInfo.PlayerResult.Normal);
     }
     else if ((int)result >= 10)
     {
         return(result - 10);
     }
     else
     {
         return(result);
     }
 }
예제 #7
0
        public int GetReward(int bet, PokdengInfo.PlayerResult result)
        {
            switch (result)
            {
            case PokdengInfo.PlayerResult.Normal:
                return(bet);

            case PokdengInfo.PlayerResult.Pok8:
                return(bet);

            case PokdengInfo.PlayerResult.Pok9:
                return(bet);

            case PokdengInfo.PlayerResult.Twobounce:
                return(bet * 2);

            case PokdengInfo.PlayerResult.ThreeBounce:
                return(bet * 3);

            case PokdengInfo.PlayerResult.Tong:
                return(bet * 5);

            case PokdengInfo.PlayerResult.Ghost:
                return(bet * 3);

            case PokdengInfo.PlayerResult.Set:
                return(bet * 3);

            case PokdengInfo.PlayerResult.Pok8Twobounce:
                return(bet * 2);

            case PokdengInfo.PlayerResult.Pok9Twobounce:
                return(bet * 2);

            case PokdengInfo.PlayerResult.GhostThreeBounce:
                return(bet * 5);

            case PokdengInfo.PlayerResult.SetThreeBounce:
                return(bet * 5);

            default:
                return(bet);
            }
        }
예제 #8
0
        public void PlayersSetHeMustBeWinThePlayerThatHeGetLowerResult(string expected, PokdengInfo.PlayerResult p1Result, PokdengInfo.PlayerResult p2Result)
        {
            var player = new Pokdeng();
            var result = player.GetWinnerBySpecialResult(p1Result, p2Result);

            Assert.Equal(expected, result);
        }