예제 #1
0
        private void Grid_MouseDown(object sender, MouseEventArgs e)
        {
            int y = (int)(((float)e.Y) * grdLife.Rows / grdLife.Height);
            int x = (int)(((float)e.X) * grdLife.Columns / grdLife.Width);

            switch (cboPresets.SelectedItem.ToString())
            {
            case "Pixel":
                _lifeGame.ToggleCellState(x, y);
                break;

            case "Glider (NE)":
                _lifeGame.AddGlider(x, y, "ne", Width, Height);
                break;

            case "Glider (NW)":
                _lifeGame.AddGlider(x, y, "nw", Width, Height);
                break;

            case "Glider (SE)":
                _lifeGame.AddGlider(x, y, "se", Width, Height);
                break;

            case "Glider (SW)":
                _lifeGame.AddGlider(x, y, "sw", Width, Height);
                break;

            default:
                _lifeGame.ToggleCellState(x, y);
                break;
            }


            UpdateFormVisuals();
        }