public void UsunKarte(char w, char k, Talia talia1) { talia1.UwolnijKarte(new Karta(w, k)); foreach (var karta in piki) { if (karta.Wysokosc == w && karta.Kolor == k) { piki.Remove(karta); break; } } foreach (var karta in kiery) { if (karta.Wysokosc == w && karta.Kolor == k) { kiery.Remove(karta); break; } } foreach (var karta in kara) { if (karta.Wysokosc == w && karta.Kolor == k) { kara.Remove(karta); break; } } foreach (var karta in trefle) { if (karta.Wysokosc == w && karta.Kolor == k) { trefle.Remove(karta); break; } } liczbaKart = piki.Count() + kiery.Count() + kara.Count() + trefle.Count; talia1.UwolnijKarte(new Karta(w, k)); }
/// <summary> /// Tworzy nowe rozdanie po odczycie pliku XML /// </summary> public Rozdanie(RozdanieZapis r) { gracze = new Gracze(r.gracze); talia = new Talia(r.talia); numer = r.numer; zalozenia = (((numer) - 1) / 4 + numer % 4) % 4; dealer = numer % 4; }
/// <summary> /// Tworzy nowe rozdanie o podanym numerze /// </summary> public Rozdanie(int numerKon) { gracze = new Gracze(); talia = new Talia(); numer = numerKon; zalozenia = (((numer) - 1) / 4 + numer % 4) % 4; dealer = numer % 4; ostatnie = new Stack <string>(); }
public TaliaZapis(Talia t) { for (int i = 0; i < 4; i++) { for (int j = 0; j < 13; j++) { kartyWTalii.Add(t.kartyWTalii[j, i]); } } }
/* public char ZnajdzBlotke(char w, char k, Talia talia) * { * string wolne = ""; * if (k == 'S') * { * for(int i = 0; i < 8; i++) * { * if(talia.kartyWTalii[i,3].Status == 0) * { * wolne += talia.kartyWTalii[i,3].Wysokosc; * } * } * } * if (k == 'H') * { * for (int i = 0; i < 8; i++) * { * if (talia.kartyWTalii[i, 2].Status == 0) * { * wolne += talia.kartyWTalii[i, 2].Wysokosc; * } * } * } * if (k == 'D') * { * for (int i = 0; i < 8; i++) * { * if (talia.kartyWTalii[i, 1].Status == 0) * { * wolne += talia.kartyWTalii[i, 1].Wysokosc; * } * } * } * if (k == 'C') * { * for (int i = 0; i < 8; i++) * { * if (talia.kartyWTalii[i, 0].Status == 0) * { * wolne += talia.kartyWTalii[i, 0].Wysokosc; * } * } * } * var rand = new Random(); * if(wolne.Length != 0) * { * int r = rand.Next(0, wolne.Length - 1); * return wolne[r]; * } * else { return 'x'; } * }*/ public void DodajKarte1(char w, char k, Talia talia1) { //MessageBox.Show(Convert.ToString(w)); //if (w == 'X') { w = ZnajdzBlotke(w, k, talia1); } //if( w == 'x') { break; } talia1.ZajmijKarte(new Karta(w, k)); if (k == 'S') { if (piki.Count() == 0) { piki.AddFirst(new Karta(w, k)); } else { foreach (var karta in piki) { if (talia1.wartosci.IndexOf(karta.Wysokosc) < talia1.wartosci.IndexOf(w)) { piki.AddBefore(piki.Find(karta), new Karta(w, k)); break; } if (karta == piki.Last()) { piki.AddAfter(piki.Find(karta), new Karta(w, k)); break; } } } } if (k == 'H') { if (kiery.Count() == 0) { kiery.AddFirst(new Karta(w, k)); } else { foreach (var karta in kiery) { if (talia1.wartosci.IndexOf(karta.Wysokosc) < talia1.wartosci.IndexOf(w)) { kiery.AddBefore(kiery.Find(karta), new Karta(w, k)); break; } if (karta == kiery.Last()) { kiery.AddAfter(kiery.Find(karta), new Karta(w, k)); break; } } } } if (k == 'D') { if (kara.Count() == 0) { kara.AddFirst(new Karta(w, k)); } else { foreach (var karta in kara) { if ((talia1.wartosci.IndexOf(karta.Wysokosc) < talia1.wartosci.IndexOf(w))) { kara.AddBefore(kara.Find(karta), new Karta(w, k)); break; } if (karta == kara.Last()) { kara.AddAfter(kara.Find(karta), new Karta(w, k)); break; } } } } if (k == 'C') { if (trefle.Count() == 0) { trefle.AddFirst(new Karta(w, k)); } else { foreach (var karta in trefle) { if (talia1.wartosci.IndexOf(karta.Wysokosc) < talia1.wartosci.IndexOf(w)) { trefle.AddBefore(trefle.Find(karta), new Karta(w, k)); break; } if (karta == trefle.Last()) { trefle.AddAfter(trefle.Find(karta), new Karta(w, k)); break; } } } } liczbaKart = piki.Count() + kiery.Count() + kara.Count() + trefle.Count; }