예제 #1
0
 //Dogadjaj pozvan pritiskom na mis
 private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     prethodnaPozicijaMisa = e.GetPosition(null);
     selektovanaFigura     = sender as Image;
     this.sahovkaFigura    = selektovanaFigura.Tag as SahovskeFigurice;
     selektovanaFiguraPrethodnaPozicija = sahovkaFigura.Pozicija;
 }
예제 #2
0
        //Dogadjaj za pomeranje misa
        private void Image_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                Point  pozicijaMisa = e.GetPosition(null);
                Vector diff         = pozicijaMisa - prethodnaPozicijaMisa;

                SahovskeFigurice sahovkaFigura = selektovanaFigura.Tag as SahovskeFigurice;
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X + diff.X / Igra.SahovskeFigurice.ZoomPublic, sahovkaFigura.Pozicija.Y + diff.Y / Igra.SahovskeFigurice.ZoomPublic);
                prethodnaPozicijaMisa  = pozicijaMisa;
            }
        }
예제 #3
0
        private void CentarY()
        {
            SahovskeFigurice sahovkaFigura = selektovanaFigura.Tag as SahovskeFigurice;

            if (sahovkaFigura.Pozicija.Y < 0.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 0);
            }
            else if (sahovkaFigura.Pozicija.Y < 1.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 1);
            }
            else if (sahovkaFigura.Pozicija.Y < 2.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 2);
            }
            else if (sahovkaFigura.Pozicija.Y < 3.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 3);
            }
            else if (sahovkaFigura.Pozicija.Y < 4.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 4);
            }
            else if (sahovkaFigura.Pozicija.Y < 5.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 5);
            }
            else if (sahovkaFigura.Pozicija.Y < 6.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 6);
            }
            else if (sahovkaFigura.Pozicija.Y > 6.6 || sahovkaFigura.Pozicija.Y < 7.6)
            {
                sahovkaFigura.Pozicija = new Point(sahovkaFigura.Pozicija.X, 7);
            }
        }
예제 #4
0
        //Dogadjaj pozvan spustanjem na mis
        private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Released)
            {
                Point trenutnaPozicijaMisa = e.GetPosition(null);
                this.sahovkaFigura = selektovanaFigura.Tag as SahovskeFigurice;

                if (sahovkaFigura.Pozicija.X < 0.6)
                {
                    sahovkaFigura.Pozicija = new Point(0, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 1 || sahovkaFigura.Pozicija.X < 1.6)
                {
                    sahovkaFigura.Pozicija = new Point(1, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 2 || sahovkaFigura.Pozicija.X < 2.6)
                {
                    sahovkaFigura.Pozicija = new Point(2, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 3 || sahovkaFigura.Pozicija.X < 3.6)
                {
                    sahovkaFigura.Pozicija = new Point(3, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 4 || sahovkaFigura.Pozicija.X < 4.6)
                {
                    sahovkaFigura.Pozicija = new Point(4, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 5 || sahovkaFigura.Pozicija.X < 5.6)
                {
                    sahovkaFigura.Pozicija = new Point(5, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 6 || sahovkaFigura.Pozicija.X < 6.6)
                {
                    sahovkaFigura.Pozicija = new Point(6, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }
                else if (sahovkaFigura.Pozicija.X < 7 || sahovkaFigura.Pozicija.X > 7)
                {
                    sahovkaFigura.Pozicija = new Point(7, sahovkaFigura.Pozicija.Y);
                    CentarY();
                }

                Igra.PomeriFiguru(selektovanaFiguraPrethodnaPozicija, sahovkaFigura);

                if (Igra.CBoard.CurrentPlayer == ChessBoard.PlayerE.Black)
                {
                    Igra.StopericaPublic.Stop1();
                    Igra.StopericaPublic.Start2();
                }
                if (Igra.CBoard.CurrentPlayer == ChessBoard.PlayerE.White)
                {
                    Igra.StopericaPublic.Stop2();
                    Igra.StopericaPublic.Start1();
                }

                if (ListaPoteza.Items.Count > 4)
                {
                    var border = VisualTreeHelper.GetChild(ListaPoteza, 0) as Decorator;
                    if (border != null)
                    {
                        var scroll = border.Child as ScrollViewer;
                        if (scroll != null)
                        {
                            scroll.ScrollToEnd();
                        }
                    }
                }
                Igra.PrikaziTablu();
                Igra.ZvukFigure();
            }
        }