示例#1
0
        public async Task <ResponseBotLogicGameView> BotLogic(RequestBotLogicGameView model)
        {
            List <Card> cards = await _cardRepository.GetAll();

            Random          random          = new Random((int)DateTime.Now.Ticks);
            PlayerRoundHand playerRoundHand = await _playerRoundHandRepository.GetPlayerRoundHandByPlayerAndRoundId(model.Hand.PlayerId, model.Round.Id);

            while (playerRoundHand.Score < 17)
            {
                Stack <Card> mixCards = new Stack <Card>(cards.OrderBy(x => random.Next()));
                Card         card     = GetCard(mixCards);
                playerRoundHand.Score += (int)card.Value;
                await SaveHands(card, playerRoundHand.Id);
            }
            await _playerRoundHandRepository.Update(playerRoundHand);

            var result = new ResponseBotLogicGameView();

            result.Hand = _maping.MapPlayerRoundHandToPlayerRoundHandBotLogicGameViewItem(playerRoundHand, await _cardRepository.GetPlayerRoundHandCards(playerRoundHand.Id));
            return(result);
        }
        public async Task <ResponseBotLogicGameView> BotAndDealerLogic(RequestBotLogicGameView item)
        {
            ResponseBotLogicGameView model = await _gameService.BotLogic(item);

            return(model);
        }