public static void WyrzucUzytkownikowKtorzyPrzegrali(Gra gra) { Pokoj pokoik = pokoje.Find(delegate(Pokoj v) { return v.zwrocGre() == gra; }); if (pokoik != null) { pokoik.user.RemoveAll(delegate(Uzytkownik c) { return pokoik.zwrocGre().user.Find(delegate(Gracz v) { return v.identyfikatorUzytkownika == c.identyfikatorUzytkownika; }) == null; }); } }
// akcja po zakończeniu gry public void WyczyscPokoj() { iloscGraczyObecna = 0; graRozpoczeta = false; //user.Clear(); // sprawa dyskusyjna.. gra = null; }
public bool UsunUzytkownika(Int64 u) { if (user.Exists(delegate(Uzytkownik a) { return u == a.identyfikatorUzytkownika; })) { if (graRozpoczeta) { if (gra.user.Find(delegate(Gracz g) { return g.identyfikatorUzytkownika == u && g.stan == Gracz.StanGracza.Fold; }) == null) { if (gra.ktoBigBlind == u) gra.ktoBigBlind = gra.KtoNastepny(gra.user, u); if (gra.ktoDealer == u) gra.ktoDealer = gra.KtoPoprzedni(gra.user, u); if (gra.czyjRuch == u) { gra.KoniecRuchu(); if (gra.ktoStawia == u) gra.ktoStawia = gra.KtoNastepny(gra.user, u); } else if (gra.ktoStawia == u) gra.ktoStawia = gra.KtoPoprzedni(gra.user, u); // słaby punkt.. } gra.pula += gra.user.Find(delegate(Gracz v) { return v.identyfikatorUzytkownika == u; }).kasa; gra.user.RemoveAll(delegate(Gracz v) { return v.identyfikatorUzytkownika == u; }); gra.aktywni.RemoveAll(delegate(Gracz v) { return v.identyfikatorUzytkownika == u; }); } user.RemoveAll(delegate(Uzytkownik v) { return v.identyfikatorUzytkownika == u; }); iloscGraczyObecna = user.Count; if (graRozpoczeta && iloscGraczyObecna == 0) gra = null; return true; } return false; }