Пример #1
0
        static void Main(string[] args)
        {
            var optionSet = new OptionSet
            {
                {"p|pattern=", "A starting pattern, e.g. 'glider'", v=> _initialPattern = v},
                {"x=", "The board x size", (int v) => _xSize= v},
                {"y=", "The board y size", (int v) => _ySize= v},
                {"g|generations=", "The number of generations", (int v) => _generations = v},
                {"d|delay=", "The delay in milliseconds", (int v) => _delay = v}
            };

            optionSet.Parse(args);

            InitialiseConsole();

            var gridStrategy = SelectStrategy();

            var life = new Life(_xSize, _ySize, gridStrategy);

            for (var i = 0; i < _generations; i++)
            {
                if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape) break;
                life.Tick();
                Console.SetCursorPosition(0, 0);
                Console.Write(life.ToString());
                Console.WriteLine();
                Console.WriteLine("{0}/{1}", i + 1, _generations);
                if (_delay > 0) Thread.Sleep(_delay);
            }

            ResetConsole();
        }
Пример #2
0
        public Form1()
        {
            var boardSize = 100;

            InitializeComponent();
            _life = new Life(boardSize, boardSize, new DefaultGridPopulationStrategy());

            for (var i = 0; i < boardSize; i++)
            {
                grid.Columns.Add(new DataGridViewColumn(new DataGridViewTextBoxCell()));
                grid.Rows.Add(new DataGridViewRow());
            }
        }