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(); } }
public bool IsCorrectShape(Card card) { if (thisroundcards[winnerid] != null && card.GetShape() == thisroundcards[winnerid].GetShape()) { return(true); } return(false); }
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); }
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; } } }