示例#1
0
        private void SetupGrid(ConwayGridModel model)
        {
            gameCanvas.Children.Clear();
            gameWrapper.Width  = model.Width * cellDimension;
            gameWrapper.Height = model.Height * cellDimension;

            gameCanvas.Width  = model.Width * cellDimension;
            gameCanvas.Height = model.Height * cellDimension;

            this.DataContext = model;

            for (int i = 0; i < model.Width; i++)
            {
                for (int j = 0; j < model.Height; j++)
                {
                    Shape shape = new Rectangle();
                    shape.Width  = cellDimension;
                    shape.Height = cellDimension;

                    Canvas.SetTop(shape, j * cellDimension);
                    Canvas.SetLeft(shape, i * cellDimension);

                    shape.StrokeThickness = 1;
                    //shape.SetResourceReference(Shape.StrokeProperty, "BorderColor");

                    shape.DataContext = model.Cells[i, j];

                    gameCanvas.Children.Add(shape);
                }
            }
        }
示例#2
0
        public static void GridDataSet(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue == null)
            {
                return;
            }

            ConwayGridModel data = (ConwayGridModel)e.NewValue;
            ConwayGrid      self = ((ConwayGrid)d);

            self.SetupGrid(data);
        }
示例#3
0
        private void gameCanvas_MouseDown(object sender, MouseButtonEventArgs e)
        {
            Point p = e.GetPosition(gameCanvas);

            int x = (int)Math.Floor(p.X / cellDimension);
            int y = (int)Math.Floor(p.Y / cellDimension);

            Shape s = (Shape)gameCanvas.Children[CalculateIndex(x, y)];

            ConwayGridModel model = (ConwayGridModel)this.GetValue(GridDataProperty);

            model.Cells[x, y].IsAlive = !model.Cells[x, y].IsAlive;
        }
 private void updateButton_Click(object sender, RoutedEventArgs e)
 {
     gridModel         = new ConwayGridModel((int)widthSlider.Value, (int)heightSlider.Value);
     gameGrid.GridData = gridModel;
 }