private List<Gracz> TrojkaComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); int wartK = -1;//maksymalna wartość trojki for (int i = 0; i < ile; i++) { if ((int)aktywni[i].zwroc_najUklad()[0].figura > wartK) { wartK = (int)aktywni[i].zwroc_najUklad()[0].figura; } } for (int i = 0; i < ile; i++) { if ((int)aktywni[i].zwroc_najUklad()[0].figura == wartK) { wygrani.Add(aktywni[i]); } } if (wygrani.Count > 1) { for (int j = 0; j < wygrani.Count; j++) { wygrani[j].kicker = -1; for (int i = 0; i < wygrani[j].zwroc_najUklad().Count; i++) { if (((int)wygrani[j].zwroc_najUklad()[i].figura != (int)wygrani[j].zwroc_najUklad()[0].figura) && ((int)wygrani[j].zwroc_najUklad()[i].figura > wygrani[j].kicker)) { wygrani[j].kicker = (int)wygrani[j].zwroc_najUklad()[i].figura; } } } sortujKick sk = new sortujKick(); wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { int k1 = wygrani[0].kicker; for (int j = 0; j < wygrani.Count; j++) { wygrani[j].kicker = -1; for (int i = 0; i < wygrani[j].zwroc_najUklad().Count; i++) { if (((int)wygrani[j].zwroc_najUklad()[i].figura != k1) && ((int)wygrani[j].zwroc_najUklad()[i].figura != (int)wygrani[j].zwroc_najUklad()[0].figura) && ((int)wygrani[j].zwroc_najUklad()[i].figura > wygrani[j].kicker)) { wygrani[j].kicker = (int)wygrani[j].zwroc_najUklad()[i].figura; } } } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { wygrani.Clear(); funkcPom(wygrani, aktywni); } return wygrani; } return wygrani; } return wygrani; }
private List<Gracz> ParaComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); for (int i = 0; i < ile; i++) { aktywni[i].kicker = (int)aktywni[i].zwroc_najUklad()[0].figura; ; } sortujKick sk = new sortujKick(); aktywni.Sort(sk); for (int i = 0; i < aktywni.Count; i++) { if (aktywni[i].kicker == aktywni[0].kicker) { wygrani.Add(aktywni[i]); } } if (wygrani.Count > 1) { for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = -1; for (int j = 0; j < wygrani[i].zwroc_najUklad().Count; j++) { if (((int)wygrani[i].zwroc_najUklad()[j].figura > wygrani[i].kicker) && ((int)wygrani[i].zwroc_najUklad()[j].figura != (int)wygrani[i].zwroc_najUklad()[0].figura)) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[j].figura; } } } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { int k1 = wygrani[0].kicker; for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = -1; for (int j = 0; j < wygrani[i].zwroc_najUklad().Count; j++) { if (((int)wygrani[i].zwroc_najUklad()[j].figura > wygrani[i].kicker) && ((int)wygrani[i].zwroc_najUklad()[j].figura != (int)wygrani[i].zwroc_najUklad()[0].figura) && ((int)wygrani[i].zwroc_najUklad()[j].figura != k1)) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[j].figura; } } } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { int k2 = wygrani[0].kicker; for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = -1; for (int j = 0; j < wygrani[i].zwroc_najUklad().Count; j++) { if (((int)wygrani[i].zwroc_najUklad()[j].figura > wygrani[i].kicker) && ((int)wygrani[i].zwroc_najUklad()[j].figura != (int)wygrani[i].zwroc_najUklad()[0].figura) && ((int)wygrani[i].zwroc_najUklad()[j].figura != k1) && ((int)wygrani[i].zwroc_najUklad()[j].figura != k2)) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[j].figura; } } } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { wygrani.Clear(); funkcPom(wygrani, aktywni); } return wygrani; } return wygrani; } return wygrani; } return wygrani; }
private List<Gracz> StritComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); List<Gracz> temp = new List<Gracz>(); for (int i = 0; i < ile; i++) { aktywni[i].kicker = -1; for (int j = 0; j < aktywni[i].zwroc_najUklad().Count; j++) { if ((int)aktywni[i].zwroc_najUklad()[j].figura > aktywni[i].kicker) { aktywni[i].kicker = (int)aktywni[i].zwroc_najUklad()[j].figura; } } } for (int i = 0; i < ile; i++) { temp.Add(aktywni[i]); } sortujKick sk = new sortujKick(); temp.Sort(sk); for (int i = 0; i < temp.Count; i++) { if (temp[i].kicker == temp[0].kicker) wygrani.Add(temp[i]); } if (wygrani.Count > 1) { wygrani.Clear(); funkcPom(wygrani, aktywni); } return wygrani; }
private List<Gracz> KolorComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); for (int i = 0; i < ile; i++) { aktywni[i].kicker = -1; for (int j = 0; j < aktywni[i].zwroc_najUklad().Count; j++) { if ((int)aktywni[i].zwroc_najUklad()[j].figura > aktywni[i].kicker) { aktywni[i].kicker = (int)aktywni[i].zwroc_najUklad()[j].figura; } } } sortujKick sk = new sortujKick(); aktywni.Sort(sk); for (int i = 0; i < aktywni.Count; i++) { if (aktywni[i].kicker == aktywni[0].kicker) { wygrani.Add(aktywni[i]); } } int temp = wygrani[0].kicker; if (wygrani.Count > 1) { for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = -1; for (int j = 0; j < wygrani[i].zwroc_najUklad().Count; j++) { if (((int)wygrani[i].zwroc_najUklad()[j].figura > wygrani[i].kicker) && ((int)wygrani[i].zwroc_najUklad()[j].figura != temp)) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[j].figura; } } } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { List<Gracz> temp2 = new List<Gracz>(wygrani); wygrani.Clear(); funkcPom(wygrani, temp2); } } return wygrani; }
private List<Gracz> KaretaComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); int wartK = -1;//maksymalna wartość karety for (int i = 0; i < ile; i++) { if ((int)aktywni[i].zwroc_najUklad()[0].figura > wartK) { wartK = (int)aktywni[i].zwroc_najUklad()[0].figura; } } for (int i = 0; i < ile; i++) { if ((int)aktywni[i].zwroc_najUklad()[0].figura == wartK) { wygrani.Add(aktywni[i]); } } if (wygrani.Count > 1) { for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[4].figura; } sortujKick sk = new sortujKick(); wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { wygrani.Clear(); funkcPom(wygrani, aktywni); } return wygrani; } return wygrani; }
//sprawdza kickery w rece private void funkcPom(List<Gracz> wygrani, List<Gracz> user2) { for (int i = 0; i < user2.Count; i++) { user2[i].kicker = -1; for (int j = 0; j < user2[i].zwroc_hand().Count; j++) { if ((int)user2[i].zwroc_hand()[j].figura > user2[i].kicker) { user2[i].kicker = (int)user2[i].zwroc_hand()[j].figura; } } } sortujKick sk = new sortujKick(); user2.Sort(sk); for (int j = 0; j < user2.Count; j++) { if (user2[j].kicker == user2[0].kicker) wygrani.Add(user2[j]); } if (wygrani.Count > 1) { int k1 = wygrani[0].kicker; for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = -1; for (int j = 0; j < wygrani[i].zwroc_hand().Count; j++) { if (((int)wygrani[i].zwroc_hand()[j].figura > wygrani[i].kicker) && ((int)wygrani[i].zwroc_hand()[j].figura != k1)) { wygrani[i].kicker = (int)wygrani[i].zwroc_hand()[j].figura; } } } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } } }
private List<Gracz> FullComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); for (int i = 0; i < ile; i++) { aktywni[i].kicker = (int)aktywni[i].zwroc_najUklad()[0].figura; } sortujKick sk = new sortujKick(); aktywni.Sort(sk); for (int i = 0; i < aktywni.Count; i++) { if (aktywni[i].kicker == aktywni[0].kicker) { wygrani.Add(aktywni[i]); } } if (wygrani.Count > 1) { for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[3].figura; } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { wygrani.Clear(); funkcPom(wygrani, aktywni); } return wygrani; } return wygrani; }
private List<Gracz> DwieParyComp(List<Gracz> wygrani, int ile) { wygrani.Clear(); for (int i = 0; i < ile; i++) { if ((int)aktywni[i].zwroc_najUklad()[0].figura > (int)aktywni[i].zwroc_najUklad()[2].figura) { aktywni[i].kicker = (int)aktywni[i].zwroc_najUklad()[0].figura; } else aktywni[i].kicker = (int)aktywni[i].zwroc_najUklad()[2].figura; } sortujKick sk = new sortujKick(); aktywni.Sort(sk); for (int i = 0; i < aktywni.Count; i++) { if (aktywni[i].kicker == aktywni[0].kicker) { wygrani.Add(aktywni[i]); } } if (wygrani.Count > 1)//szukanie drugiej najwyzszej pary { int p1 = aktywni[0].kicker; for (int i = 0; i < wygrani.Count; i++) { if ((int)wygrani[i].zwroc_najUklad()[0].figura == p1) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[2].figura; } else wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[0].figura; } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1)//szukanie kickera { for (int i = 0; i < wygrani.Count; i++) { wygrani[i].kicker = (int)wygrani[i].zwroc_najUklad()[4].figura; } wygrani.Sort(sk); for (int i = 0; i < wygrani.Count; i++) { if (wygrani[i].kicker != wygrani[0].kicker) { wygrani.RemoveAt(i); i--; } } if (wygrani.Count > 1) { wygrani.Clear(); funkcPom(wygrani, aktywni); } return wygrani; } return wygrani; } return wygrani; }