Exemplo n.º 1
0
        public void NewFrischCard(Card card, int clientid)
        {
            for (int i = 0; i < pcards[clientid].Count; i++)
            {
                if (pcards[clientid][i].GetNum() == card.GetNum() && pcards[clientid][i].GetShape() == card.GetShape())
                {
                    pcards[clientid].RemoveAt(i);
                    break;
                }
            }
            for (int i = 0; i < 4; i++)
            {
                if (clientid != i)
                {
                    if (gotnewfrischcard[i] == null)
                    {
                        gotnewfrischcard[i] = new List <bool>();
                    }
                    gotnewfrischcard[i].Add(true);
                }
            }

            for (int i = 0; i < 3; i++)
            {
                if (frischcards[clientid, i] == null)
                {
                    if (i == 2)
                    {
                        frisch[clientid] = false;
                    }
                    frischcards[clientid, i] = card;
                    break;
                }
            }
        }
Exemplo n.º 2
0
 public void GetLastCcard(Card card, int clientid)
 {
     thisid = clientid;
     usedcards[clientid].Add(card);
     gotnewcard = new bool[4];
     foreach (Card card1 in pcards[clientid])
     {
         if (card.GetNum() == card1.GetNum() && card.GetShape() == card1.GetShape())
         {
             pcards[clientid].Remove(card1);
             break;
         }
     }
     counter3++;
     if (counter3 == 4)
     {
         //המנצח מתחיל בסיבוב הבא - לכתוב
         counter3 = 0;
         NewRoundCards();
     }
     else
     {
         counter3++;
         ThisRoundCards();
         nextplayerturn();
     }
 }
Exemplo n.º 3
0
        public int GetCardIndex(Card card, int clientid)
        {
            if (tookcard == null)
            {
                tookcard = new List <bool> [4];
            }
            for (int i = 0; i < 4; i++)
            {
                tookcard[i] = new List <bool>();
                tookcard[i].Add(true);
            }

            pcards[clientid].Add(card);
            string shape = card.GetShape();

            for (int i = 0; i < 3; i++)
            {
                if (frischcards[(clientid + 1) == 4 ? 0 : (clientid + 1), i] != null && frischcards[(clientid + 1) == 4 ? 0 : (clientid + 1), i].GetNum() == card.GetNum() && frischcards[(clientid + 1) == 4 ? 0 : (clientid + 1), i].GetShape() == shape)
                {
                    frischcards[(clientid + 1) == 4 ? 0 : (clientid + 1), i] = new Card(0, "a");
                }
            }


            for (int i = 0; i < pcards[clientid].Count; i++)
            {
                if (pcards[clientid][i].GetShape() == shape && pcards[clientid][i].GetNum() != card.GetNum())
                {
                    if (pcards[clientid][i].GetNum() < card.GetNum())
                    {
                        for (int j = i; j < pcards[clientid].Count; j++)
                        {
                            Card card1 = new Card(pcards[clientid][j]);
                            pcards[clientid][j] = pcards[clientid][pcards[clientid].Count - 1];
                            pcards[clientid][pcards[clientid].Count - 1] = card1;
                        }
                        return(i);
                    }
                    if (pcards[clientid][i + 1 == (pcards[clientid].Count) ? 0 : (i + 1)].GetShape() != shape)
                    {
                        for (int j = i; j < pcards[clientid].Count - 1; j++)
                        {
                            Card card1 = new Card(pcards[clientid][j + 1]);
                            pcards[clientid][j + 1] = pcards[clientid][pcards[clientid].Count - 1];
                            pcards[clientid][pcards[clientid].Count - 1] = card1;
                        }
                        return(i + 1);
                    }
                }
            }

            if (shape == "spades")
            {
                for (int i = 0; i < pcards[clientid].Count; i++)
                {
                    Card card1 = new Card(pcards[clientid][i]);
                    pcards[clientid][i] = pcards[clientid][pcards[clientid].Count - 1];
                    pcards[clientid][pcards[clientid].Count - 1] = card1;
                }
                return(0);
            }
            if (shape == "hearts")
            {
                for (int i = 0; i < pcards[clientid].Count; i++)
                {
                    if (pcards[clientid][i].GetShape() != "spades")
                    {
                        for (int j = i; i < pcards[clientid].Count; i++)
                        {
                            Card card1 = new Card(pcards[clientid][j]);
                            pcards[clientid][j] = pcards[clientid][pcards[clientid].Count - 1];
                            pcards[clientid][pcards[clientid].Count - 1] = card1;
                        }
                        return(i);
                    }
                }
            }
            if (shape == "clubs")
            {
                for (int i = 0; i < pcards[clientid].Count; i++)
                {
                    if (pcards[clientid][i].GetShape() != "spades" && pcards[clientid][i].GetShape() != "diamonds")
                    {
                        for (int j = i; i < pcards[clientid].Count; i++)
                        {
                            Card card1 = new Card(pcards[clientid][j]);
                            pcards[clientid][j] = pcards[clientid][pcards[clientid].Count - 1];
                            pcards[clientid][pcards[clientid].Count - 1] = card1;
                        }
                        return(i);
                    }
                }
            }
            if (shape == "diamonds")
            {
                return(pcards[clientid].Count - 1);
            }
            return(0);
        }