コード例 #1
0
ファイル: UnitTests.cs プロジェクト: robinmaben/GameOfLife
        public void TestStillStateBlock()
        {
            var gameBoard = new GameBoard(new InitialState(File.ReadAllText("Block.csv")));
            var snapShot = gameBoard.Grid;
            gameBoard.Evolve();

            Assert.IsTrue(AreStatesEqual(snapShot, gameBoard.Grid));
        }
コード例 #2
0
ファイル: UnitTests.cs プロジェクト: robinmaben/GameOfLife
        public void TestRandomStateChange()
        {
            var gameBoard = new GameBoard(new InitialState(File.ReadAllText("Arbitrary.csv")));
            var snapShot = gameBoard.Grid;
            gameBoard.Evolve();

            Assert.IsFalse(AreStatesEqual(snapShot, gameBoard.Grid));
        }
コード例 #3
0
ファイル: UnitTests.cs プロジェクト: robinmaben/GameOfLife
        public void TestOscillationStateBlinker()
        {
            var blinker = new GameBoard(new InitialState(File.ReadAllText("Blinker.csv")));
            var snapShot1 = blinker.Grid;

            blinker.Evolve();
            Assert.IsFalse(AreStatesEqual(snapShot1, blinker.Grid)); //Assert that states have changed

            blinker.Evolve();
            Assert.IsTrue(AreStatesEqual(snapShot1, blinker.Grid)); //Assert that states have changed back to original position
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: robinmaben/GameOfLife
        static void Main()
        {
            var gameBoard = new GameBoard(new InitialState(File.ReadAllText("Input.csv")));

            while (gameBoard.Generation < 100)
            {
                Console.Clear();
                Console.WriteLine("Genration " + gameBoard.Generation);

                gameBoard.Draw();
                Thread.Sleep(500);

                gameBoard.Evolve();

            }
        }
コード例 #5
0
ファイル: Cell.cs プロジェクト: robinmaben/GameOfLife
 public Cell AttachToBoard(GameBoard board)
 {
     _board = board;
     return this;
 }