示例#1
0
        //proverava da li je u partiji p doslo do pozicije koja je trenutno na tabli
        private bool istapozicija(Partija p)
        {
            int n = tabla.listx.Count + tabla.listo.Count;

            for (int i = 0; i < n; i++)
            {
                bool f = false;
                if (i % 2 == 0)
                {
                    for (int j = 0; j < tabla.listx.Count; j++)
                    {
                        if (tabla.listx[j].Item1 == p[i].Item1 && tabla.listx[j].Item2 == p[i].Item2)
                        {
                            f = true;
                        }
                    }
                }
                else
                {
                    for (int j = 0; j < tabla.listo.Count; j++)
                    {
                        if (tabla.listo[j].Item1 == p[i].Item1 && tabla.listo[j].Item2 == p[i].Item2)
                        {
                            f = true;
                        }
                    }
                }
                if (!f)
                {
                    return(false);
                }
            }
            return(true);
        }
示例#2
0
 public Partija(Partija p)
 {
     imeX     = p.imeX;
     imeO     = p.imeO;
     prezimeO = p.prezimeO;
     prezimeX = p.prezimeX;
     Rezultat = p.Rezultat;
     Potezi   = p.Potezi;
 }
示例#3
0
        public override void tabla_click(object sender, EventArgs e)
        {
            Label kliknutaLabela = (Label)sender;

            string[] indeksi = kliknutaLabela.Name.Split(' ');

            int i = Convert.ToInt16(indeksi[0]);
            int j = Convert.ToInt16(indeksi[1]);

            if (kliknutaLabela.Text == PRAZNOPOLJE)
            {
                brojPraznihPolja--;
                if (X == true)
                {
                    tabla[i, j].Text = "X";
                    System.IO.File.AppendAllText("partije.txt", $"[{i},{j}] - ");
                    partija.dodajPotez(i, j);
                    if (provera("X", i, j))
                    {
                        System.Windows.Forms.MessageBox.Show("X igrac je pobedio");
                        System.IO.File.AppendAllText("partije.txt", " 1:0\n");
                        lista.Add(partija);
                        partija = new Partija();
                        ispraznitablu();
                        return;
                    }
                    X = false;
                }
                else
                {
                    tabla[i, j].Text = "O";
                    System.IO.File.AppendAllText("partije.txt", $"[{i},{j}]\n");
                    partija.dodajPotez(i, j);
                    if (provera("O", i, j))
                    {
                        System.Windows.Forms.MessageBox.Show("O igrac je pobedio");
                        System.IO.File.AppendAllText("partije.txt", " 0:1\n");
                        lista.Add(partija);
                        partija = new Partija();
                        ispraznitablu();
                        return;
                    }
                    X = true;
                }
                if (brojPraznihPolja == 0)
                {
                    System.Windows.Forms.MessageBox.Show("Igra je zavrsena nereseno");
                    System.IO.File.AppendAllText("partije.txt", "1/2 : 1/2\n");
                    ispraznitablu();
                }
            }
        }
示例#4
0
        //promena partije koja se pregleda-klik na item u listboxu
        private void listBox1_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            //MessageBox.Show("Selektovana Partija" + listBox1.SelectedIndex + listBox1.Items.Count);

            if (listBoxPartije.SelectedIndex >= 0)
            {
                Statuslabel.Text   = statusPregledPartije;
                tabla.partijautoku = false;
                X                    = true;
                trenutna             = tabla.bindingpartije[listBoxPartije.SelectedIndex];
                textBoxImeX.Text     = trenutna.imeX;
                textBoxPrezimeX.Text = trenutna.prezimeX;
                textBoxImeO.Text     = trenutna.imeO;
                textBoxPrezimeO.Text = trenutna.prezimeO;
                tabla.ispraznitablu();
                potez = 0;
            }
        }