コード例 #1
0
        public void HandleStartJoc(Jucator player, IObserver client)
        {
            _clientsDictionary[player.Username].Stare = StareJucator.InAsteptare;
            var oponent = string.Empty;

            foreach (var keyValuePair in _clientsDictionary)
            {
                if (keyValuePair.Value.Stare.Equals(StareJucator.InAsteptare) && !keyValuePair.Key.Equals(player.Username))
                {
                    oponent = keyValuePair.Key;
                }
            }


            if (oponent.Equals(string.Empty))
            {
                _clientsDictionary[player.Username].Client.Astepta();
            }
            else
            {
                _clientsDictionary[player.Username].Client.StartJoc(oponent);
                _clientsDictionary[oponent].Client.StartJoc(player.Username);
                _clientsDictionary[player.Username].Stare = StareJucator.InJoc;
                _clientsDictionary[oponent].Stare         = StareJucator.InJoc;

                var newJoc = new Joc();
                newJoc.IdJucator1      = _clientsDictionary[player.Username].Player.Id;
                newJoc.IdJucator2      = _clientsDictionary[oponent].Player.Id;
                newJoc.PozitieJucator1 = 0;
                newJoc.PozitieJucator2 = 0;
                _service.JocService.Add(newJoc);

                _jocuriActive[player.Username + oponent] = new GameSession(player.Username, oponent, player.Username, 1, newJoc);
            }
        }
コード例 #2
0
        public void ReadFiles()
        {
            string subdir;
            string cnp;

            string[] date_jucator;
            Echipa   e;
            Jucator  j;

            foreach (string dir in Directory.EnumerateDirectories(Path.Combine(Directory.GetCurrentDirectory(), "LPF")))
            {
                e      = AdaugaEchipa(new DirectoryInfo(dir).Name);
                subdir = Path.Combine(Directory.GetCurrentDirectory() + "\\", dir).ToString();

                foreach (string file in Directory.EnumerateFiles(subdir, "*.lpf"))
                {
                    cnp = Path.GetFileNameWithoutExtension(subdir + "\\" + file);
                    if (validCNP(cnp) && (existaJucatorul(cnp, e) == null))
                    {
                        date_jucator = System.IO.File.ReadAllLines(Path.Combine(subdir + "\\", file));

                        if (date_jucator.Length >= 2)
                        {
                            j = new Jucator(date_jucator[0], cnp, (Post)Enum.Parse(typeof(Post), date_jucator[1]));
                            ((Echipa)listaEchipe.ElementAt(comboBox1.SelectedIndex)).listaJucatori.Add(j);
                            adaugaButon(j);
                        }
                    }
                }
                refreshButtons();
            }
        }
コード例 #3
0
ファイル: Concurent.cs プロジェクト: rainer13/TrofeulNational
 public void addJucator(Jucator j)
 {
     if (j != null)
     {
         jucatori.Add(j);
     }
 }
コード例 #4
0
 public void InitializeazaJucatori(int numarJucatori)
 {
     _jucatori = new List <Jucator>(numarJucatori);
     for (int i = 0; i < numarJucatori; i++)
     {
         _jucatori[i] = new Jucator(i, GetNumeJucator(i), (Culoare)i, GetCasuteStartPentru((Culoare)i));
     }
 }
コード例 #5
0
        public override Jucator getJucatorByFullName(string nume, string prenume)
        {
            MySqlCommand    com    = new MySqlCommand("select * from jucatoriMP where nume='" + nume + "' and prenume='" + prenume + "' ;", sqlc);
            MySqlDataReader reader = com.ExecuteReader();

            return(Jucator.jucatorWithMPFromDBRow(reader));

            return(null);
        }
コード例 #6
0
        public List <String> jucatoriActiviEchipaMeci(int idMeci, int idEchipa, JucatorService serviceJucator)
        {
            var list = repo.findAll().Where(j =>
            {
                int idJ         = j.idJucator;
                Jucator jucator = serviceJucator.getOne(idJ);
                return(j.idMeci == idMeci && jucator.echipa.id == idEchipa && j.tip == "Participant");
            }).Select(j => serviceJucator.getOne(j.idJucator).ToString() + " " + j.tip).ToList();

            return(list);
        }
コード例 #7
0
        private void adaugaButon(Jucator jucator)
        {
            Button btn = new Button();

            btn.Text  = jucator.getNume();
            btn.Width = 200;
            btn.Tag   = jucator;
            this.flowLayoutPanel1.Controls.Add(btn);
            btn.Click += Btn_Click;
            this.flowLayoutPanel1.Refresh();
        }
コード例 #8
0
        public override Jucator getConcurentWithMPByID(string id)
        {
            sqlc.Close();
            sqlc.Open();
            MySqlCommand    msc    = new MySqlCommand("select * from jucatorimp where iid=" + id + ";", sqlc);
            MySqlDataReader reader = msc.ExecuteReader();

            if (reader.Read())
            {
                return(Jucator.jucatorWithMPFromDBRow(reader));
            }
            else
            {
                return(null);
            }
        }
コード例 #9
0
        private void button2_Click(object sender, EventArgs e)
        {
            string   datetime = "15.11.1999";
            int      zi       = int.Parse(datetime.Substring(0, 2));
            int      luna     = int.Parse(datetime.Substring(3, 2));
            int      an       = int.Parse(datetime.Substring(6, 4));
            DateTime my_date  = new DateTime(an, luna, zi);

            if (listaEchipe.Count > 0)
            {
                string nume, cnp;
                Post   post;

                form2 = new JucatorForm();
                form2.ShowDialog(this);

                if (form2.DialogResult == DialogResult.OK)
                {
                    nume = form2.getNume();
                    cnp  = form2.getCNP();
                    post = form2.getPost();

                    Jucator jucator = new Jucator(nume, cnp, post);
                    ((Echipa)listaEchipe.ElementAt(comboBox1.SelectedIndex)).listaJucatori.Add(jucator);
                    refreshButtons();

                    string nume_echipa = ((Echipa)listaEchipe.ElementAt(comboBox1.SelectedIndex)).nume;
                    AdaugaEchipa(nume_echipa);

                    string file = Directory.GetCurrentDirectory() + "\\LPF\\" + nume_echipa + "\\" + cnp + ".lpf";

                    if (!File.Exists(file))
                    {
                        var fileStream = File.Create(file);
                        fileStream.Close();
                        string[] date = new string[2];
                        date[0] = nume;
                        date[1] = post.ToString();
                        System.IO.File.WriteAllLines(file, date);
                    }
                }

                form2.Dispose();

                // Cristi e boss 2020
            }
        }
コード例 #10
0
 public bool HandleLogin(string userName, string passwd)
 {
     try
     {
         var player = new Jucator()
         {
             Username = userName,
             Parola   = passwd
         };
         _server.Login(player, this);
         _player = player;
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
コード例 #11
0
        public void HandleMutareNoua(Jucator player, IObserver client, int numarGenerat)
        {
            var joc = _jocuriActive.FirstOrDefault((pair => pair.Key.Contains(player.Username)));

            if (joc.Value.Runda >= 6)
            {
                return;
            }
            if (!joc.Value.JucatorCurent.Equals(player.Username))
            {
                client.AsteaptaRand();
            }
            else
            {
                var tabla = joc.Value.Muta(numarGenerat);
                var jct1  = _clientsDictionary[joc.Value.Jucator1];
                var jct2  = _clientsDictionary[joc.Value.Jucator2];
                jct1.Client.MutareNoua(tabla, numarGenerat);
                jct2.Client.MutareNoua(tabla, numarGenerat);

                var newJoc = new Joc();
                newJoc.Id              = joc.Value.JocDb.Id;
                newJoc.IdJucator1      = joc.Value.JocDb.IdJucator1;
                newJoc.IdJucator2      = joc.Value.JocDb.IdJucator2;
                newJoc.PozitieJucator1 = joc.Value.PozitieJucator1;
                newJoc.PozitieJucator2 = joc.Value.PozitieJucator2;
                _service.JocService.Update(newJoc);

                var mut = new Mutare();
                mut.NumarGenerat = numarGenerat;
                mut.IdJoc        = newJoc.Id;

                if (joc.Value.JucatorCurent.Equals(player.Username))
                {
                    mut.IdJucator = joc.Value.JocDb.IdJucator2;
                }
                else
                {
                    mut.IdJucator = joc.Value.JocDb.IdJucator1;
                }

                _service.MutareService.Add(new Mutare());
            }
        }
コード例 #12
0
        public void Login(Jucator player, IObserver client)
        {
            var logPlayer = _service.JucatorSerice.HandleLogin(player);

            Console.WriteLine($"Player: {player.Username} incearca sa se conecteze...");
            if (logPlayer != default(Jucator))
            {
                if (_clientsDictionary.ContainsKey(player.Username))
                {
                    throw new Exception("alrd log");
                }

                _clientsDictionary[player.Username] = new ServerAux(logPlayer, client);
            }
            else
            {
                throw new Exception("cant log in");
            }
        }
コード例 #13
0
 public override JucatorActiv ParseLine(string line)
 {
     // line - > idJucator ; idMeci ; nrPuncteInscrise ; tip
     try
     {
         string[] substring = line.Trim(' ').Split(";");
         Jucator  jucator   = _repoJucatori.findOne(int.Parse(substring[0].Trim(' ')));
         Meci     meci      = _repoMeciuri.findOne(substring[1].Trim(' '));
         return(new JucatorActiv(
                    jucator.Id,
                    meci.Id,
                    int.Parse(substring[2].Trim(' ')),
                    substring[3].Trim(' ')
                    ));
     }
     catch (Exception)
     {
         return(null);
     }
 }
コード例 #14
0
        private void addTeams(object sender, RoutedEventArgs e)
        {
            string numeEchipa = NumeEchipa.Text.Equals("Nume Echipa") ? "" : NumeEchipa.Text;
            Echipa ee         = new Echipa(numeEchipa);

            string[] jucatori = new string[7];

            jucatori[1] = J1.Text;
            jucatori[2] = J2.Text;
            jucatori[3] = J3.Text;
            jucatori[4] = J4.Text;
            jucatori[5] = J5.Text;
            jucatori[6] = J6.Text;

            for (int i = 1; i <= 6; ++i)
            {
                ee.addJucator(Jucator.getFromTextBox(jucatori[i], conection));
            }
            if (ee.isValid() && echipe.CanAdd(ee) && checkName(numeEchipa))
            {
                Log.Text = "s-a adaugat " + ee.ToString();
                echipe.Add(ee);
            }
            else
            {
                Log.Text = "Eroare ";
                if (!ee.isValid())
                {
                    Log.Text += "echipa are un numar incorect de jucatori";
                }
                else
                if (!echipe.CanAdd(ee))
                {
                    Log.Text += "un jucator mai joaca si in alta echipa";
                }
                else
                {
                    Log.Text += "mai exista si o alta echipa cu acelasi nume";
                }
            }
        }
コード例 #15
0
        public void Login(Jucator player, IObserver client)
        {
            var logPlayer = _service.JucatorSerice.HandleLogin(player);

            Console.WriteLine($"Player: {player.Username} incearca sa se conecteze...");
            if (logPlayer != default(Jucator))
            {
                if (_clientsDictionary.ContainsKey(player.Username))
                {
                    throw new Exception("alrd log");
                }

                _punctaje[player.Username] = new JucatorAux(logPlayer.Username, StarePlayer.Logat, 0);
                NotifyNewPlayer(_punctaje[player.Username]);
                _clientsDictionary[player.Username] = new ServerAux(logPlayer, client);
                client.SeePlayers(_punctaje.Values.ToList());
            }
            else
            {
                throw new Exception("alrd log");
            }
        }
コード例 #16
0
        public String scorMeci(int idMeci, MeciService serviceMeci, JucatorService serviceJucator)
        {
            Meci meci = serviceMeci.getOne(idMeci);

            if (meci.ToString().Equals(""))
            {
                return("");
            }
            Echipa ec1     = meci.echipa1;
            Echipa ec2     = meci.echipa2;
            var    result1 = repo.findAll().Where(j =>
            {
                Jucator jucator = serviceJucator.getOne(j.idJucator);
                return(jucator.echipa.id == ec1.id && j.idMeci == meci.id);
            }).Select(j => j);

            int r1 = 0, r2 = 0;

            foreach (var m in result1)
            {
                r1 = r1 + m.nrPuncteInscrise;
            }

            var result2 = repo.findAll().Where(j =>
            {
                Jucator jucator = serviceJucator.getOne(j.idJucator);
                return(jucator.echipa.id == ec2.id && j.idMeci == meci.id);
            }).Select(j => j);

            foreach (var m in result2)
            {
                r2 = r2 + m.nrPuncteInscrise;
            }
            string scor = r1 + "-" + r2;

            return(scor);
        }
コード例 #17
0
 public Jucator HandleLogin(Jucator player)
 {
     return(_repository.GetAll().ToList().FirstOrDefault((x => x.Parola.Equals(player.Parola) && x.Username.Equals(player.Username))));
 }
コード例 #18
0
        public Jucator getOne(int id)
        {
            Jucator j = repo.findOne(id);

            return(j);
        }
コード例 #19
0
 public ServerAux(Jucator player, IObserver client)
 {
     Player = player ?? throw new ArgumentNullException(nameof(player));
     Client = client ?? throw new ArgumentNullException(nameof(client));
     Stare  = StareJucator.Logat;
 }