Exemple #1
0
        private static Tabela RandTabelu(Tabela t)
        {
            //t.Otkaci();
            Tabela nova = t;
            Random r = new Random();
            int max = t.Matrica.GetLength(0);

            
            for(int i = 0; i < t.Matrica.GetLength(0); i++)
            {
                for(int j = 0; j < t.Matrica.GetLength(1); j++)
                {
                    t.TacnaMatrica[i, j] = t.Matrica[i, j];
                }
            }

            for (int i = 0; i < t.Matrica.GetLength(0); i++)
            {
                for (int j = 0; j < t.Matrica.GetLength(1); j++)
                {
                    int p = r.Next(0, max);
                    int q = r.Next(0, max);
                    Kvadratic k = t.Matrica[i, j];
                    Kvadratic k2 = t.Matrica[p, q];
                    t.Pin();
                    if (k.Pin || k2.Pin)
                    {
                        continue;
                    }
                    else
                    {
                        //MessageBox.Show(Convert.ToString(t.Matrica[0, 0].Pin));
                        Kvadratic tmp = t.Matrica[i, j];
                        t.Matrica[i, j] = t.Matrica[p, q];
                        t.Matrica[p, q] = tmp;
                        Canvas.SetLeft(t.Matrica[i, j].Rect, (t.Matrica[i, j].Rect.Width + 1) * i);
                        Canvas.SetTop(t.Matrica[i, j].Rect, (t.Matrica[i, j].Rect.Height + 1) * j);

                        Canvas.SetLeft(t.Matrica[p, q].Rect, (t.Matrica[p, q].Rect.Width + 1) * p);
                        Canvas.SetTop(t.Matrica[p, q].Rect, (t.Matrica[p, q].Rect.Height + 1) * q);
                    }
                }
            }
            return nova;
        }
Exemple #2
0
        private void Zameni(Point a, Point b)
        {
            
            int prviX = (int)(a.X / (t.Size + 1));
            int prviY = (int)(a.Y / (t.Size + 1));
            int drugiX = (int)(b.X / (t.Size + 1));
            int drugiY = (int)(b.Y / (t.Size + 1));
            //MessageBox.Show(prviX.ToString());
            if (t.Matrica[prviX, prviY].Pin || t.Matrica[drugiX, drugiY].Pin)
                return;
            //MessageBox.Show(t.Matrica[prviX, prviY].ToString());


            Kvadratic temp = t.Matrica[prviX, prviY];
            t.Matrica[prviX, prviY] = t.Matrica[drugiX, drugiY];
            t.Matrica[drugiX, drugiY] = temp;
            //MessageBox.Show(t.Matrica[prviX, prviY].ToString());
            //MessageBox.Show("zamena");
            //MessageBox.Show("zamena");

            
            /*for (int i = 0; i < t.Matrica.GetLength(0); i++)
            {
                for (int j = 0; j < t.Matrica.GetLength(1); j++)
                {
                    t.Matrica[i, j] = t.TacnaMatrica[i, j];
                }
            }*/
            

            cnvIgra.InvalidateVisual();
            cnvIgra.UpdateLayout();
            t.Refresh();

            if (Proveri())
            {
                lblBroj.HorizontalAlignment = HorizontalAlignment.Left;
                lblBroj.VerticalAlignment = VerticalAlignment.Center;
                lblBroj.Content = "BRAVO!!";
                lblBroj.Visibility = Visibility.Visible;
            }
        }