// działania na końcu akcji gracza (Fold, Rise, Call, AllIn) public Komunikat KoniecRuchu() { Komunikat k = new Komunikat(); Gracz x = aktywni.Find(delegate(Gracz c) { return c.identyfikatorUzytkownika == czyjRuch && c.stan == Gracz.StanGracza.Fold; }); if (x != null) { if (ktoStawia == x.identyfikatorUzytkownika) ktoStawia = KtoPoprzedni(aktywni, x.identyfikatorUzytkownika); czyjRuch = KtoPoprzedni(aktywni, x.identyfikatorUzytkownika); aktywni.Remove(x);//usuwanie gracza ktory folduje } if (KoniecLicytacji() == true) { if (KoniecRozdania() == true) { ZakonczenieRozdania(); wyniki = true; } else NastepnyStan(); } else { Gracz q; int controla = aktywni.Count; do { czyjRuch = KtoNastepny(aktywni, czyjRuch); q = aktywni.Find(delegate(Gracz v) { return v.identyfikatorUzytkownika == czyjRuch && (v.stan == Gracz.StanGracza.Fold || v.stan == Gracz.StanGracza.AllIn); }); controla--; } while (q != null && controla > 0); if (controla == 0)//wszyscy w grze są All-In { czyjRuch = -1; if (stan < Stan.RIVER) NastepnyStan(); else { ZakonczenieRozdania(); wyniki = true; } } } k.kodKomunikatu = 200; return k; }
public Komunikat CallRiseAllIn(byte[] token, Int32 ile) { bool pom = false; if (Baza.CzyPoprawny(token) == true) { Int64 id = Baza.ZwrocIdUzytkownika(token); Pokoj p = pokoje.Find(delegate(Pokoj v) { return v.jestWpokoju(id); }); if(p!=null) { if (p.zwrocGre().czyjRuch == id) { Gracz R = p.zwrocGre().aktywni.Find(delegate(Gracz c) { return c.identyfikatorUzytkownika == id; });//gracz ktory zostal zweryfikowany if (R.kasa >= ile) { if (R.stawia + ile > p.zwrocGre().najwyzszaStawka) { p.zwrocGre().ktoStawia = R.identyfikatorUzytkownika; R.stan = Gracz.StanGracza.Rise; p.zwrocGre().najwyzszaStawka = R.stawia + ile;//dodane niedawno pom = true; } else if (R.stawia + ile == p.zwrocGre().najwyzszaStawka) { R.stan = Gracz.StanGracza.Call; pom = true; } else if (R.stawia + ile < p.zwrocGre().najwyzszaStawka) { if (ile == R.kasa) { R.stan = Gracz.StanGracza.AllIn; pom = true; } else if (ile < R.kasa) { temp.kodKomunikatu = 404; } } if (pom == true) { R.kasa = R.kasa - ile; if (R.kasa == 0) R.stan = Gracz.StanGracza.AllIn; p.zwrocGre().pula += ile; R.stawia += ile; temp.kodKomunikatu = 200; temp=p.zwrocGre().KoniecRuchu(); } } else { temp.kodKomunikatu = 404; } } else { temp.kodKomunikatu = 404; } } else { temp.kodKomunikatu = 404; } } return temp; }
public byte[] Zaloguj(string nazwa, string haslo) { byte[] token = null; Komunikat kom = new Komunikat(); if (!Baza.CzyIstniejeUzytkownik(nazwa)) { kom.trescKomunikatu = "NIE ISTNIEJE"; } else { if(!Baza.CzyPoprawneHaslo(haslo,nazwa)) { kom.trescKomunikatu = "NIEPOPRAWNE DANE LOGOWANIA"; } else { byte[] temp = Baza.CzyZalogowany(nazwa); if (temp == null) { token = Baza.Zaloguj(nazwa); } else { Baza.Wyloguj(temp); token = Baza.Zaloguj(nazwa); } uzytkownicy = Baza.ZwrocUzytkownikowZalogowanych(); } } return token; }
public Komunikat Zarejestruj(string nazwa, string haslo, string email) { //rejestracja uzytkownika Komunikat kom = new Komunikat(); if (Baza.CzyIstniejeUzytkownik(nazwa)) { kom.kodKomunikatu = 111; kom.trescKomunikatu = "NAZWA ZAJĘTA!"; } else { if(!Baza.CzyPoprawnyEmail(email)) { kom.trescKomunikatu="NIEPOPRAWNY FORMAT ADRESU EMAIL!"; return kom; } if (Baza.CzyIstniejEmail(email)) { kom.kodKomunikatu = 111; kom.trescKomunikatu = "EMAIL ZAJĘTY!"; } else { if (Baza.DodajUzytkownika(nazwa, email, haslo)) { kom.trescKomunikatu = "OK"; kom.kodKomunikatu = 200; } else { kom.trescKomunikatu = "Blad"; kom.kodKomunikatu = 404; } } } return kom; }
public Komunikat Wyloguj(byte[] token) { Komunikat kom = new Komunikat(); if (Baza.CzyPoprawny(token)) { kom = Baza.Wyloguj(token); uzytkownicy = Baza.ZwrocUzytkownikowZalogowanych(); } else { kom.kodKomunikatu = 404; kom.trescKomunikatu = "BLAD"; } return kom; }
public Komunikat SprawdzNazwe(string nazwa) { Komunikat kom = new Komunikat(); if (Baza.CzyIstniejeUzytkownik(nazwa)) { kom.trescKomunikatu = "ISTNIEJE"; kom.kodKomunikatu = 111; } else { kom.trescKomunikatu = "OK"; kom.kodKomunikatu = 100; } return kom; }
public Komunikat SprawdzEmail(string email) { Komunikat kom = new Komunikat(); if (!Baza.CzyPoprawnyEmail(email)) { kom.trescKomunikatu = "NIEPOPRAWNY FORMAT"; kom.kodKomunikatu = 110; return kom; } if (Baza.CzyIstniejEmail(email)) { kom.trescKomunikatu = "ISTNIEJE"; kom.kodKomunikatu = 111; } else { kom.trescKomunikatu = "OK"; kom.kodKomunikatu = 100; } return kom; }
public static byte[] Zaloguj(string nazwa) { Komunikat kom = new Komunikat(); using (SqlConnection Polaczenie = new SqlConnection(CiagPolaczenia)) { var sqlQuery = "select * from Sesja"; var sqlQuery2 = "select IdUzytkownika from Uzytkownik where Nazwa = @Nazwa";// +wiad.nazwaUzytkownika; SqlDataAdapter dataAdapter2 = new SqlDataAdapter(sqlQuery2, Polaczenie); DataSet dataSet2 = new DataSet(); dataAdapter2.SelectCommand.Parameters.Add("@Nazwa", SqlDbType.NVarChar).Value = nazwa; dataAdapter2.Fill(dataSet2, "Uzytkownik"); int uzytID = (int)dataSet2.Tables["Uzytkownik"].Rows[0].ItemArray.GetValue(0); SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQuery, Polaczenie); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet, "Sesja"); byte[] token = new byte[256] ; Random rand = new Random(); rand.NextBytes(token); DataRow newRow = dataSet.Tables["Sesja"].NewRow(); newRow["IdUzytkownika"] = uzytID; newRow["Token"] = token; newRow["DoKiedyWazny"] = (Int32)(DateTime.Now.AddMinutes(CzasAFK).Subtract(new DateTime(1970, 1, 1))).TotalSeconds; dataSet.Tables["Sesja"].Rows.Add(newRow); new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet.Tables["Sesja"]); return token; } }
public static Komunikat Wyloguj(byte[] token) { Komunikat kom = new Komunikat(); using (SqlConnection Polaczenie = new SqlConnection(CiagPolaczenia)) { var sqlQuery = "select * from Sesja where Token = @Token and DoKiedyWazny >= @Wazny"; SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlQuery, Polaczenie); DataSet dataSet = new DataSet(); dataAdapter.SelectCommand.Parameters.Add("@Token", SqlDbType.VarBinary).Value = token; dataAdapter.SelectCommand.Parameters.Add("@Wazny", SqlDbType.Int).Value = (Int32)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; dataAdapter.Fill(dataSet, "Sesja"); if (dataSet.Tables["Sesja"].Rows.Count > 0) { foreach (DataRow row in dataSet.Tables["Sesja"].Rows) { row["DoKiedyWazny"] = (Int32)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; } new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet.Tables["Sesja"]); } kom.trescKomunikatu = "Nastąpiło poprawne wylogowanie!"; kom.kodKomunikatu = 200; } Baza.ZmienPokoj(token, 0); return kom; }