Ejemplo n.º 1
0
 public MainWindow()
 {
     InitializeComponent();
     timer          = new Timer();
     timer.Interval = TickDelay;
     timer.Elapsed += (s, a) => lifeGrid.Tick();
     camera         = new FreeFlyingCamera(new Vector3D(0, 0, 1), new Vector3D(0, 0, -1), new Vector3D(0, 0, 0));
 }
Ejemplo n.º 2
0
        public void HandlesLargeGrid()
        {
            var stopwatch = Stopwatch.StartNew();

            grid.Tick();
            stopwatch.Stop();

            var message = "Timespan was " + stopwatch.Elapsed;

            Assert.IsTrue(stopwatch.Elapsed < new TimeSpan(0, 0, 0, 0, 500), message);
            Console.WriteLine(message);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var grid             = new LifeGrid(NumberOfRows, NumberOfColumns);
            var randomGridSeeder = new RandomGridSeeder();

            randomGridSeeder.Seed(grid);

            while (true)
            {
                grid.Tick();

                var cells = grid.GetLivingCells();
                DisplayCells(cells);
                Thread.Sleep(500);
            }
        }
Ejemplo n.º 4
0
        protected void backgroundWorker_DoWork(Object sender, DoWorkEventArgs e)
        {
            var grid             = new LifeGrid(NumberOfRows, NumberOfColumns);
            var randomGridSeeder = new RandomGridSeeder();

            randomGridSeeder.Seed(grid);

            while (true)
            {
                if (backgroundWorker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }

                grid.Tick();

                var cells = grid.GetLivingCells();
                backgroundWorker.ReportProgress(0, cells);
                Thread.Sleep(TickDelay);
            }
        }
Ejemplo n.º 5
0
        public void AnyLiveCellHavingThreeNeighborsWithFewerThanTwoLiveNeighborsDies()
        {
            grid.BringToLife(1, 1);
            grid.Tick();

            var isAlive = grid.IsCellAlive(1, 1);

            Assert.IsFalse(isAlive);
        }