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); }