コード例 #1
0
        /// <summary>
        ///		Crea el control para una figura
        /// </summary>
        private FrameworkElement CreateFigure(FigureViewModel figure)
        {
            Image image = CreateImage(GetImageFileName(figure), figure.Row, figure.Column);

            // Asigna el tag
            image.Tag = figure;
            // Devuelve el control
            return(image);
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: Areg-ILP/Chess
 /// <summary>
 /// Set figure in board (image)
 /// </summary>
 /// <param name="figure">figure post model</param>
 private void SetFigureImage(FigureViewModel figure)
 {
     try
     {
         _viewBoard[figure.Position.X, figure.Position.Y].Content = ViewManager.GetImage(figure);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
コード例 #3
0
ファイル: Helper.cs プロジェクト: AlexeyKhrenov/Zermelo
     // todo - move this component to XAML
     public static UIElement ToUIElement(this FigureViewModel figure)
     {
         if (figure.Type == "WhiteQueen" || figure.Type == "BlackQueen")
         {
             return new Rectangle
                    {
                        Height          = 26,
                        Width           = 26,
                        Fill            = figure.Type != "WhiteQueen" ? Brushes.Black : Brushes.White,
                        Stroke          = Brushes.Tan,
                        StrokeThickness = 5
                    }
         }
         ;
         return(new Rectangle
         {
             Height = 26,
             Width = 26,
             Fill = figure.Type != "White" ? Brushes.Black : Brushes.White
         });
     }
 }
コード例 #4
0
ファイル: ViewManager.cs プロジェクト: Areg-ILP/Chess
        /// <summary>
        /// Method to Get image by figure
        /// </summary>
        /// <param name="figure">figure</param>
        /// <returns>image by figure</returns>
        public static Image GetImage(FigureViewModel figure)
        {
            switch (figure.FigureName)
            {
            case "King":
                if (!figure.ColorFlag)
                {
                    return new Image()
                           {
                               Source = new BitmapImage(new Uri(_imagePathBlackKing, UriKind.Relative))
                           }
                }
                ;
                return(new Image()
                {
                    Source = new BitmapImage(new Uri(_imagePathWhiteKing, UriKind.Relative))
                });

            case "Queen":
                if (!figure.ColorFlag)
                {
                    return new Image()
                           {
                               Source = new BitmapImage(new Uri(_imagePathBlackQueen, UriKind.Relative))
                           }
                }
                ;
                return(new Image()
                {
                    Source = new BitmapImage(new Uri(_imagePathWhiteQueen, UriKind.Relative))
                });

            case "Rook":
                if (!figure.ColorFlag)
                {
                    return new Image()
                           {
                               Source = new BitmapImage(new Uri(_imagePathBlackRook, UriKind.Relative))
                           }
                }
                ;
                return(new Image()
                {
                    Source = new BitmapImage(new Uri(_imagePathWhiteRook, UriKind.Relative))
                });

            case "Horse":
                if (!figure.ColorFlag)
                {
                    return new Image()
                           {
                               Source = new BitmapImage(new Uri(_imagePathBlackHorse, UriKind.Relative))
                           }
                }
                ;
                return(new Image()
                {
                    Source = new BitmapImage(new Uri(_imagePathWhiteHorse, UriKind.Relative))
                });

            case "Bishop":
                if (!figure.ColorFlag)
                {
                    return new Image()
                           {
                               Source = new BitmapImage(new Uri(_imagePathBlackBishop, UriKind.Relative))
                           }
                }
                ;
                return(new Image()
                {
                    Source = new BitmapImage(new Uri(_imagePathWhiteBishop, UriKind.Relative))
                });

            case "Pawn":
                if (!figure.ColorFlag)
                {
                    return new Image()
                           {
                               Source = new BitmapImage(new Uri(_imagePathBlackPawn, UriKind.Relative))
                           }
                }
                ;
                return(new Image()
                {
                    Source = new BitmapImage(new Uri(_imagePathWhitePawn, UriKind.Relative))
                });

            default:
                throw new Exception("Image not Found");
            }
        }
コード例 #5
0
ファイル: ChessMaster.cs プロジェクト: Areg-ILP/Chess
 /// <summary>
 /// Move given figure to given position and return flag
 /// </summary>
 /// <param name="figureToMove">figure to move</param>
 /// <param name="pointToMove">position to move</param>
 /// <returns>true if move else false</returns>
 public bool Play(FigureViewModel figureToMove, (int x, int y) pointToMove)
コード例 #6
0
 public Figure(IFigure figure)
 {
     InitializeComponent();
     DataContext = new FigureViewModel(figure);
     SetBrush(figure);
 }