Example #1
0
File: Gra.cs Project: primu/pz
 // 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;
 }
Example #2
0
        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;
        }
Example #3
0
        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;
        }
Example #4
0
        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;
        }
Example #5
0
 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;
 }
Example #6
0
 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;
 }
Example #7
0
 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;
 }
Example #8
0
File: Baza.cs Project: primu/pz
        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;
            }
        }
Example #9
0
File: Baza.cs Project: primu/pz
        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;
        }