Exemple #1
0
        public void CalculateResultTest()
        {
            //Arrange
            var service   = new PokerService();
            var playerNum = 6;

            var cardsLst = new Card[playerNum][];

            cardsLst[0] = new Card[2] {
                new Card(Card.SUIT.CLUBS, 3), new Card(Card.SUIT.CLUBS, 2)
            };                                                                                        //straight flush
            cardsLst[1] = new Card[2] {
                new Card(Card.SUIT.CLUBS, 4), new Card(Card.SUIT.CLUBS, 2)
            };                                                                                        // flush
            cardsLst[2] = new Card[2] {
                new Card(Card.SUIT.DIAMONDS, 4), new Card(Card.SUIT.CLUBS, 3)
            };                                                                                           // straight
            cardsLst[3] = new Card[2] {
                new Card(Card.SUIT.DIAMONDS, 3), new Card(Card.SUIT.CLUBS, 3)
            };                                                                                           // pair
            cardsLst[4] = new Card[2] {
                new Card(Card.SUIT.DIAMONDS, 3), new Card(Card.SUIT.CLUBS, 9)
            };                                                                                           // high card
            cardsLst[5] = new Card[2] {
                new Card(Card.SUIT.DIAMONDS, 5), new Card(Card.SUIT.CLUBS, 7)
            };                                                                                           // high card

            //Act
            var ret = service.CalculateResult(cardsLst, playerNum);

            //Assert
            Assert.AreEqual(new int[6] {
                5, 4, 3, 2, 1, 0
            }, ret);
        }
Exemple #2
0
        public ActionResult Game()
        {
            GameViewModel model        = new GameViewModel();
            PokerService  pokerService = new PokerService();
            var           data         = pokerService.GetPokerData();

            model.Users = data.Users;
            return(View(model));
        }
Exemple #3
0
        public void Get_Refresh_Deck_Success()
        {
            //Arrage
            var service = new PokerService();

            //Act
            var deck  = service.GetRefreshDeck(1);
            var deck2 = service.GetRefreshDeck(1);

            //Assert : have a small chance of failing
            Assert.IsTrue(deck.Cards[0].Suit != deck2.Cards[0].Suit || deck.Cards[0].Number != deck2.Cards[0].Number);
        }
        public IActionResult Start([FromBody] PlayersDTO value)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            PlayerHandsDTO playersHands = PokerService.StartGame(value);

            return(Ok(new PlayerHandsDTO()
            {
                Player1Hand = playersHands.Player1Hand, Player2Hand = playersHands.Player2Hand
            }));
        }
Exemple #5
0
        public void Dispatch_Card_Success()
        {
            //Arrange
            var service   = new PokerService();
            var deck      = service.GetRefreshDeck(1);
            var playerNum = 4;

            //Act
            var cards = service.DispatchCards(deck, playerNum);

            //Assert
            Assert.IsTrue(cards.Length == playerNum);
            Assert.IsTrue(cards[0].Length == 2);
            Assert.IsTrue(cards[0][0].Number != cards[0][1].Number || cards[0][0].Suit != cards[0][1].Suit);
        }
Exemple #6
0
 public async Task <GetPlayerViewResult> Get()
 {
     try
     {
         PokerService        ps     = (PokerService)this._pokerService;
         GetPlayerViewResult result = new GetPlayerViewResult()
         {
             IsSuccess = true,
             Players   = await ps.GetPlayers()
         };
         return(result);
     }
     catch (Exception ex)
     {
         return(Fail <GetPlayerViewResult>(ex));
     }
 }
Exemple #7
0
 public async Task <GetWinnerViewResult> Post([FromBody] PlayersViewModel request)
 {
     try
     {
         PokerService        ps     = (PokerService)this._pokerService;
         GetWinnerViewResult result = new GetWinnerViewResult()
         {
             IsSuccess = true,
             Winner    = await ps.GetWinner(request)
         };
         return(result);
     }
     catch (Exception ex)
     {
         return(Fail <GetWinnerViewResult>(ex));
     }
 }
Exemple #8
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Please input player number:");
            var playerNumber = Console.Read() - 48;

            if (playerNumber < 2 || playerNumber > 6)
            {
                Console.WriteLine("\nPlayer number is 2-6");
                playerNumber = Console.Read() - 48;
                if (playerNumber < 2 || playerNumber > 6)
                {
                    Console.WriteLine("\nGame over");
                    return;
                }
            }

            Console.WriteLine("\nPlease input round number:");
            var roundNumber = Console.Read() - 48;

            if (roundNumber < 2 || roundNumber > 5)
            {
                Console.WriteLine("\nRound number is 2-5");
                roundNumber = Console.Read() - 48;
                if (roundNumber < 2 || roundNumber > 5)
                {
                    Console.WriteLine("\nGame over");
                    return;
                }
            }

            var service = new PokerService();

            var game = new Game(roundNumber, playerNumber, service);

            Console.WriteLine("\nGame Start!");
            game.Start();

            Console.WriteLine("Game over!");
        }
Exemple #9
0
 public DatabaseSyncFactory(PokerService pokerServiceInstance)
 {
     this.pokerServiceInstance = pokerServiceInstance;
 }
        public IActionResult GetWinner()
        {
            WinnerDTO winner = PokerService.GetWinner();

            return(Ok(winner));
        }
Exemple #11
0
        public void WhenThePlayersPlayTheirCards()
        {
            var service = new PokerService();

            _winningHand = service.GetWinningHand(_pokerHands);
        }
Exemple #12
0
 public PokerHub(PokerService pokerService, IHubContext <PokerHub> hubContext)
 {
     _pokerService = pokerService;
     _hubContext   = hubContext;
 }
 public void InitializeGame()
 {
     Players.ForEach(p => p.CardStrength = PokerService.DetermineCardStrength(p.Hand));
 }
Exemple #14
0
 public PokerController(ILogger <PokerController> logger, PokerService pokerService)
 {
     _logger       = logger;
     _pokerService = pokerService;
 }