//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; }
//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; } }
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); } }
//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(); } }