Exemple #1
0
        public Card[] GetCards(int ClientId)
        {
            /* Card[] pcard = new Card[13];
             *
             * for (int i = 0; i < 13; i++)
             * {
             *   pcard[i] = new Card(pcards[ClientId][i]);
             * }
             * return pcard;*/
            int spa = 0, dia = 0, hea = 0;

            List <Card> spad = new List <Card>();
            List <Card> hear = new List <Card>();
            List <Card> diam = new List <Card>();
            List <Card> clu  = new List <Card>();

            Card[] cards1 = new Card[13];
            for (int i = 0; i < pcards[ClientId].Count; i++)
            {
                if (pcards[ClientId][i].GetShape() == "spades")
                {
                    spad.Add(pcards[ClientId][i]);
                    spa++;
                }
                if (pcards[ClientId][i].GetShape() == "hearts")
                {
                    hear.Add(pcards[ClientId][i]);
                    hea++;
                }
                if (pcards[ClientId][i].GetShape() == "diamonds")
                {
                    diam.Add(pcards[ClientId][i]);
                    dia++;
                }
                if (pcards[ClientId][i].GetShape() == "clubs")
                {
                    clu.Add(pcards[ClientId][i]);
                }
            }
            for (int i = 0; i < spa; i++)
            {
                for (int j = i + 1; j < spa; j++)
                {
                    if (spad[i].GetNum() < spad[j].GetNum())
                    {
                        Card card = new Card(spad[j]);
                        spad[j] = new Card(spad[i]);
                        spad[i] = card;
                    }
                }
                cards1[i] = spad[i];
            }

            for (int i = 0; i < hea; i++)
            {
                for (int j = i + 1; j < hea; j++)
                {
                    if (hear[i].GetNum() < hear[j].GetNum())
                    {
                        Card card = new Card(hear[j]);
                        hear[j] = new Card(hear[i]);
                        hear[i] = card;
                    }
                }
                cards1[i + spa] = hear[i];
            }
            for (int i = 0; i < dia; i++)
            {
                for (int j = i + 1; j < dia; j++)
                {
                    if (diam[i].GetNum() < diam[j].GetNum())
                    {
                        Card card = new Card(diam[j]);
                        diam[j] = new Card(diam[i]);
                        diam[i] = card;
                    }
                }
                cards1[i + 13 - dia] = diam[i];
            }

            for (int i = 0; i < 13 - spa - hea - dia; i++)
            {
                for (int j = i + 1; j < 13 - spa - hea - dia; j++)
                {
                    if (clu[i].GetNum() < clu[j].GetNum())
                    {
                        Card card = new Card(clu[j]);
                        clu[j] = new Card(clu[i]);
                        clu[i] = card;
                    }
                }
                cards1[i + spa + hea] = clu[i];
            }
            pcards[ClientId] = cards1.ToList <Card>();
            return(cards1);
        }