コード例 #1
0
        public bool TestIsCellIndexValid(int x, int y)
        {
            CartesianGrid grid = new CartesianGrid(10, 10);

            CartesianGridLogic gridLogic = new CartesianGridLogic(grid);

            return gridLogic.IsCellIndexValid(x, y);
        }
コード例 #2
0
        public bool TestIsNeighborAlive(int x, int y)
        {
            CartesianGridCell gridCell = new CartesianGridCell(1, 1);

            CartesianGrid grid = new CartesianGrid(FourNeighborsGrid);

            CartesianGridLogic gridLogic = new CartesianGridLogic(grid);

            return gridLogic.IsNeighborAlive(gridCell, x, y);
        }
コード例 #3
0
        public int TestNumberOfLiveNeighbors(int x, int y)
        {
            string[] lines = File.ReadAllLines("../../smallexploder.txt");

            CartesianGrid cartesianGrid = new CartesianGrid(lines);

            CartesianGridLogic cartesianGridLogic = new CartesianGridLogic(cartesianGrid);

            return cartesianGridLogic.NumberOfLiveNeighbors(cartesianGrid.Map[x][y]);
        }
コード例 #4
0
        public void NextGeneration()
        {
            CartesianGridCell[][] emptyMap = new CartesianGrid(Width, Height).Map;

            CartesianGridLogic cartesianGridLogic = new CartesianGridLogic(this);

            for (int w = 0; w < Width; w++)
            {
                for (int h = 0; h < Height; h++)
                {
                    emptyMap[w][h].IsAlive = CellLogic.DetermineIfCellLives(Map[w][h], cartesianGridLogic.NumberOfLiveNeighbors(Map[w][h]));
                }
            }

            Map = emptyMap;
        }
コード例 #5
0
        public void TestNumberOfLiveNeighbors(string[] testArray, int expectedLiveNeighbors)
        {
            CartesianGrid grid = new CartesianGrid(testArray);

            CartesianGridLogic gridLogic = new CartesianGridLogic(grid);

            int liveNeighbors = gridLogic.NumberOfLiveNeighbors(grid.Map[1][1]);

            Assert.AreEqual(liveNeighbors, expectedLiveNeighbors);
        }