Exemple #1
0
        public Automat2D()
        {
            InitializeComponent();
            GridController = GridController.GetInstance();
            GridController.SetNeighborhoodType(0);
            boundaryComboBox.SelectedIndex           = 0;
            randomNeighborhoodComboBox.SelectedIndex = 0;
            NeighborhoodCheckedListBox.SetItemChecked(0, true);

            pointsToDraw      = new List <Point>();
            xCellTextBox.Text = Grid.SizeX.ToString();
            yCellTextBox.Text = Grid.SizeY.ToString();

            //GRID VIEW
            Zoom = zoomTrackBar.Value;
            GridController.Zoom = Zoom;
            ;
            DrawGridValue           = gridCheckBox.Checked;
            GridController.DrawGrid = DrawGridValue;
            Bitmap gridToDraw = this.GridController.GetGridImage();

            this.gridPictureBox.Size = new Size(gridToDraw.Width, gridToDraw.Height);
            DrawGrid(gridToDraw);

            SetAliveRuleFromTextBox();
            SetDeadRuleFromTextBox();
        }
Exemple #2
0
 private void randomNeighborhoodComboBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     randomThresholdTextBox_Leave(sender, e);
     GridController.Neighborhood.RandomMode = (RandomNeighborhoodMode)randomNeighborhoodComboBox.SelectedIndex;
     if (!GridController.Neighborhood.IsRandomModeMultiNeighborhood() && NeighborhoodCheckedListBox.CheckedIndices.Count > 1)
     {
         for (int i = 0; i < NeighborhoodCheckedListBox.Items.Count; i++)
         {
             NeighborhoodCheckedListBox.SetItemChecked(i, false);
         }
         NeighborhoodCheckedListBox.SetItemChecked(0, true);
         GridController.Neighborhood.SetNeighborhood(new List <int>()
         {
             0
         });;
     }
     GridController.Neighborhood.SetNeighborhood(NeighborhoodCheckedListBox.CheckedIndices.Cast <int>().ToList());
 }
Exemple #3
0
        private void NeighborhoodCheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (!GridController.Neighborhood.IsRandomModeMultiNeighborhood())
            {
                if (e.NewValue == CheckState.Checked && NeighborhoodCheckedListBox.CheckedItems.Count > 0)
                {
                    NeighborhoodCheckedListBox.ItemCheck -= NeighborhoodCheckedListBox_ItemCheck;
                    NeighborhoodCheckedListBox.SetItemChecked(NeighborhoodCheckedListBox.CheckedIndices[0], false);
                    NeighborhoodCheckedListBox.ItemCheck += NeighborhoodCheckedListBox_ItemCheck;
                }
            }
            var list = NeighborhoodCheckedListBox.CheckedIndices.Cast <int>().ToList();

            if (e.NewValue == CheckState.Unchecked)
            {
                if (NeighborhoodCheckedListBox.CheckedItems.Count == 1)
                {
                    e.NewValue = CheckState.Checked;
                    GridController.Neighborhood.SetNeighborhood(new List <int>()
                    {
                        e.Index
                    });
                }
                else
                {
                    list.Remove(e.Index);
                    GridController.Neighborhood.SetNeighborhood(list);
                }
            }
            else
            {
                list.Add(e.Index);
                GridController.Neighborhood.SetNeighborhood(list);
            }
            SetThresholdTextBox();
        }