private async Task <GetRandomHandResponse> GetRandomHandAsync(int[] randomSequence, bool isComputerCrib)
        {
            List <Card> playerCards   = new List <Card>();
            List <Card> computerCards = new List <Card>();
            string      csv           = "";

            for (int i = 0; i < 6; i++)
            {
                Card card = _deck.Cards[randomSequence[i]];
                card.Owner = Owner.Player;
                playerCards.Add(card);
                csv += $"{randomSequence[i]},";
            }
            for (int i = 6; i < 12; i++)
            {
                Card card = _deck.Cards[randomSequence[i]];
                card.Owner = Owner.Computer;
                computerCards.Add(card);
                csv += $"{randomSequence[i]},";
            }
            CountingPlayer player = new CountingPlayer(true);
            List <Card>    crib   = await player.SelectCribCards(computerCards, isComputerCrib);

            Card sharedCard = _deck.Cards[randomSequence[12]];

            csv += $"{randomSequence[12]},";

            string repeatUrl = $"cribbage/getrandomhand/{isComputerCrib}/{csv}";

            return(new GetRandomHandResponse(playerCards, computerCards, crib, sharedCard, ((int)(sharedCard.Ordinal) == 11), repeatUrl));
        }
        public async Task <ActionResult <List <Card> > > GetCribCardsAsync(string handCSV, bool isMyCrib)
        {
            (bool success, List <Card> hand, string badCard) = ParseCards(handCSV);
            if (!success)
            {
                return(NotFound($"Bad Card in hand: {badCard}"));
            }

            if (hand.Count != 6)
            {
                return(BadRequest($"Wrong number of cards.  Need 6, got {hand.Count}"));
            }


            CountingPlayer player = new CountingPlayer(true);
            List <Card>    cards  = await player.SelectCribCards(hand, isMyCrib);

            return(cards);
        }