static void Main(string[] args)
        {
            // Simple Pattern
            Game myLifeGame = new Game(4, 4);
            myLifeGame.FlipGridCell(1, 1);
            myLifeGame.FlipGridCell(1, 2);
            myLifeGame.FlipGridCell(2, 1);
            myLifeGame.FlipGridCell(2, 2);
            myLifeGame.FlipGridCell(2, 3);
            myLifeGame.FlipGridCell(3, 3);
            myLifeGame.MaxGenerations = 4;
            myLifeGame.Init();

            // The Period 3 Oscillator pattern
            //Game myLifeGame = new Game(5, 3);
            //myLifeGame.ToggleGridCell(0, 1);
            //myLifeGame.ToggleGridCell(1, 0);
            //myLifeGame.ToggleGridCell(1, 1);
            //myLifeGame.ToggleGridCell(1, 2);
            //myLifeGame.ToggleGridCell(2, 0);
            //myLifeGame.ToggleGridCell(2, 2);
            //myLifeGame.ToggleGridCell(3, 0);
            //myLifeGame.ToggleGridCell(3, 1);
            //myLifeGame.ToggleGridCell(3, 2);
            //myLifeGame.ToggleGridCell(4, 1);
            //myLifeGame.MaxGenerations = 50;
            //myLifeGame.Init();

            Console.ReadKey();
        }
Beispiel #2
0
        public void InitBlinkerPatternTest()
        {
            int rows = 3;
            int columns = 3;
            Game target = new Game(rows, columns);
            target.ToggleGridCell(0, 1);
            target.ToggleGridCell(1, 1);
            target.ToggleGridCell(2, 1);

            target.Init();
            Assert.AreEqual(target.InputGrid[1, 0].IsAlive, true);
            Assert.AreEqual(target.InputGrid[1, 1].IsAlive, true);
            Assert.AreEqual(target.InputGrid[1, 2].IsAlive, true);
        }
 protected override void OnLoad(EventArgs e)
 {
     // called upon app init
     GL.ClearColor(Color.Black);
     GL.Enable(EnableCap.Texture2D);
     GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest);
     Width         = 600;
     Height        = 600;
     game          = new Game();
     game.screen   = new Surface(Width, Height);
     Sprite.target = game.screen;
     screenID      = game.screen.GenTexture();
     game.Init();
 }
Beispiel #4
0
        static void Main(string[] args)
        {
            // The period-15 oscillator pattern
            Game objLifeGame = new Game(1, 10);

            objLifeGame.ToggleGridCell(0, 0);
            objLifeGame.ToggleGridCell(0, 1);
            objLifeGame.ToggleGridCell(0, 2);
            objLifeGame.ToggleGridCell(0, 3);
            objLifeGame.ToggleGridCell(0, 4);
            objLifeGame.ToggleGridCell(0, 5);
            objLifeGame.ToggleGridCell(0, 6);
            objLifeGame.ToggleGridCell(0, 7);
            objLifeGame.ToggleGridCell(0, 8);
            objLifeGame.ToggleGridCell(0, 9);
            objLifeGame.MaxGenerations = 10;
            objLifeGame.Init();

            Console.ReadKey();
        }
Beispiel #5
0
 public void InitBlockPatternTest()
 {
     int rows = 2;
     int columns = 2;
     Game target = new Game(rows, columns);
     target.ToggleGridCell(0, 0);
     target.ToggleGridCell(0, 1);
     target.ToggleGridCell(1, 0);
     target.ToggleGridCell(1, 1);
     target.MaxGenerations = 100;// This pattern remains unchanged for infinite generation, testing it for 100 generations
     target.Init();
     Assert.AreEqual(target.InputGrid[0, 0].IsAlive, true);
     Assert.AreEqual(target.InputGrid[0, 1].IsAlive, true);
     Assert.AreEqual(target.InputGrid[1, 0].IsAlive, true);
     Assert.AreEqual(target.InputGrid[1, 1].IsAlive, true);
 }
Beispiel #6
0
 public void InitToadPattern2Test()
 {
     int rows = 4;
     int columns = 2;
     Game target = new Game(rows, columns);
     target.ToggleGridCell(0, 0);
     target.ToggleGridCell(1, 0);
     target.ToggleGridCell(1, 1);
     target.ToggleGridCell(2, 0);
     target.ToggleGridCell(2, 1);
     target.ToggleGridCell(3, 1);
     target.Init();
     Assert.AreEqual(target.InputGrid[0, 1].IsAlive, true);
     Assert.AreEqual(target.InputGrid[0, 2].IsAlive, true);
     Assert.AreEqual(target.InputGrid[1, 0].IsAlive, true);
     Assert.AreEqual(target.InputGrid[2, 3].IsAlive, true);
     Assert.AreEqual(target.InputGrid[3, 1].IsAlive, true);
     Assert.AreEqual(target.InputGrid[3, 2].IsAlive, true);
 }
Beispiel #7
0
 public void InitQueenBeeShuttleTest()
 {
     // The Queen Bee Shuttle pattern
     int rows = 7;
     int columns = 4;
     Game target = new Game(rows, columns);
     target.ToggleGridCell(0, 0);
     target.ToggleGridCell(0, 1);
     target.ToggleGridCell(1, 2);
     target.ToggleGridCell(2, 3);
     target.ToggleGridCell(3, 3);
     target.ToggleGridCell(4, 3);
     target.ToggleGridCell(5, 2);
     target.ToggleGridCell(6, 0);
     target.ToggleGridCell(6, 1);
     target.MaxGenerations = 100;
     target.Init();
     Assert.AreEqual(target.InputGrid[4, 1].IsAlive, true);
     Assert.AreEqual(target.InputGrid[4, 2].IsAlive, true);
     Assert.AreEqual(target.InputGrid[5, 0].IsAlive, true);
     Assert.AreEqual(target.InputGrid[5, 3].IsAlive, true);
     Assert.AreEqual(target.InputGrid[6, 1].IsAlive, true);
     Assert.AreEqual(target.InputGrid[6, 2].IsAlive, true);
     Assert.AreEqual(target.InputGrid[3, 8].IsAlive, true);
     Assert.AreEqual(target.InputGrid[4, 7].IsAlive, true);
     Assert.AreEqual(target.InputGrid[4, 9].IsAlive, true);
     Assert.AreEqual(target.InputGrid[5, 6].IsAlive, true);
     Assert.AreEqual(target.InputGrid[5, 10].IsAlive, true);
     Assert.AreEqual(target.InputGrid[6, 6].IsAlive, true);
     Assert.AreEqual(target.InputGrid[6, 10].IsAlive, true);
     Assert.AreEqual(target.InputGrid[7, 7].IsAlive, true);
     Assert.AreEqual(target.InputGrid[7, 8].IsAlive, true);
     Assert.AreEqual(target.InputGrid[7, 9].IsAlive, true);
     Assert.AreEqual(target.InputGrid[9, 7].IsAlive, true);
     Assert.AreEqual(target.InputGrid[9, 8].IsAlive, true);
     Assert.AreEqual(target.InputGrid[9, 9].IsAlive, true);
     Assert.AreEqual(target.InputGrid[10, 6].IsAlive, true);
     Assert.AreEqual(target.InputGrid[10, 10].IsAlive, true);
     Assert.AreEqual(target.InputGrid[11, 6].IsAlive, true);
     Assert.AreEqual(target.InputGrid[11, 10].IsAlive, true);
     Assert.AreEqual(target.InputGrid[12, 7].IsAlive, true);
     Assert.AreEqual(target.InputGrid[12, 9].IsAlive, true);
     Assert.AreEqual(target.InputGrid[13, 8].IsAlive, true);
 }
Beispiel #8
0
        public void InitPeriod15OscillatorTest()
        {
            // The Queen Bee Shuttle pattern
            int rows = 1;
            int columns = 10;
            Game target = new Game(rows, columns);

            target.ToggleGridCell(0, 0);
            target.ToggleGridCell(0, 1);
            target.ToggleGridCell(0, 2);
            target.ToggleGridCell(0, 3);
            target.ToggleGridCell(0, 4);
            target.ToggleGridCell(0, 5);
            target.ToggleGridCell(0, 6);
            target.ToggleGridCell(0, 7);
            target.ToggleGridCell(0, 8);
            target.ToggleGridCell(0, 9);
            target.MaxGenerations = 50;
            target.Init();
            Assert.AreEqual(target.InputGrid[4, 2].IsAlive, true);
            Assert.AreEqual(target.InputGrid[3, 3].IsAlive, true);
            Assert.AreEqual(target.InputGrid[4, 3].IsAlive, true);
            Assert.AreEqual(target.InputGrid[5, 3].IsAlive, true);
            Assert.AreEqual(target.InputGrid[2, 4].IsAlive, true);
            Assert.AreEqual(target.InputGrid[3, 4].IsAlive, true);
            Assert.AreEqual(target.InputGrid[4, 4].IsAlive, true);
            Assert.AreEqual(target.InputGrid[5, 4].IsAlive, true);
            Assert.AreEqual(target.InputGrid[6, 4].IsAlive, true);

            Assert.AreEqual(target.InputGrid[4, 13].IsAlive, true);
            Assert.AreEqual(target.InputGrid[3, 12].IsAlive, true);
            Assert.AreEqual(target.InputGrid[4, 12].IsAlive, true);
            Assert.AreEqual(target.InputGrid[5, 12].IsAlive, true);
            Assert.AreEqual(target.InputGrid[2, 11].IsAlive, true);
            Assert.AreEqual(target.InputGrid[3, 11].IsAlive, true);
            Assert.AreEqual(target.InputGrid[4, 11].IsAlive, true);
            Assert.AreEqual(target.InputGrid[5, 11].IsAlive, true);
            Assert.AreEqual(target.InputGrid[6, 11].IsAlive, true);
        }
Beispiel #9
0
        public void InitDiamondPatternTest()
        {
            int rows = 3;
            int columns = 4;

            Game target = new Game(rows, columns);
            target.ToggleGridCell(0, 1);
            target.ToggleGridCell(0, 2);
            target.ToggleGridCell(1, 0);
            target.ToggleGridCell(1, 3);
            target.ToggleGridCell(2, 1);
            target.ToggleGridCell(2, 2);
            target.MaxGenerations = 50; // This pattern remains unchanged for infinite generation, testing it for 50 generations
            target.Init();
            Assert.AreEqual(target.InputGrid[0, 1].IsAlive, true);
            Assert.AreEqual(target.InputGrid[0, 2].IsAlive, true);
            Assert.AreEqual(target.InputGrid[1, 0].IsAlive, true);
            Assert.AreEqual(target.InputGrid[1, 3].IsAlive, true);
            Assert.AreEqual(target.InputGrid[2, 1].IsAlive, true);
            Assert.AreEqual(target.InputGrid[2, 2].IsAlive, true);
        }
Beispiel #10
0
        public void InitDefaultValueTest()
        {
            int rows = 2;
            int columns = 2;

            Game target = new Game(rows, columns);
            target.Init();
            Assert.AreEqual(target.InputGrid[0, 0].IsAlive, false);
            Assert.AreEqual(target.InputGrid[0, 1].IsAlive, false);
            Assert.AreEqual(target.InputGrid[1, 0].IsAlive, false);
            Assert.AreEqual(target.InputGrid[1, 1].IsAlive, false);
        }
Beispiel #11
0
        static void Main(string[] args)
        {
            // Simple Pattern
            //Game objLifeGame = new Game(4, 4);
            //objLifeGame.ToggleGridCell(1, 1);
            //objLifeGame.ToggleGridCell(1, 2);
            //objLifeGame.ToggleGridCell(2, 1);
            //objLifeGame.ToggleGridCell(2, 2);
            //objLifeGame.ToggleGridCell(2, 3);
            //objLifeGame.ToggleGridCell(3, 3);
            //objLifeGame.MaxGenerations = 4;
            //objLifeGame.Init();

            ////Toad Pattern 1
            //Game objLifeGame = new Game(2, 4);
            //objLifeGame.ToggleGridCell(0, 1);
            //objLifeGame.ToggleGridCell(0, 2);
            //objLifeGame.ToggleGridCell(0, 3);
            //objLifeGame.ToggleGridCell(1, 0);
            //objLifeGame.ToggleGridCell(1, 1);
            //objLifeGame.ToggleGridCell(1, 2);
            //objLifeGame.MaxGenerations = 8;
            //objLifeGame.Init();

            ////Toad Pattern 2
            //Game objLifeGame = new Game(4, 2);
            //objLifeGame.ToggleGridCell(0, 0);
            //objLifeGame.ToggleGridCell(1, 0);
            //objLifeGame.ToggleGridCell(1, 1);
            //objLifeGame.ToggleGridCell(2, 0);
            //objLifeGame.ToggleGridCell(2, 1);
            //objLifeGame.ToggleGridCell(3, 1);
            //objLifeGame.MaxGenerations = 100;
            //objLifeGame.Init();

            //Game objLifeGame = new Game(3, 4);
            //objLifeGame.ToggleGridCell(0, 1);
            //objLifeGame.ToggleGridCell(0, 2);
            //objLifeGame.ToggleGridCell(1, 0);
            //objLifeGame.ToggleGridCell(1, 3);
            //objLifeGame.ToggleGridCell(2, 1);
            //objLifeGame.ToggleGridCell(2, 2);
            //objLifeGame.MaxGenerations = 20;
            //objLifeGame.Init();


            // The Queen Bee Shuttle pattern
            //Game objLifeGame = new Game(7, 4);
            //objLifeGame.ToggleGridCell(0, 0);
            //objLifeGame.ToggleGridCell(0, 1);
            //objLifeGame.ToggleGridCell(1, 2);
            //objLifeGame.ToggleGridCell(2, 3);
            //objLifeGame.ToggleGridCell(3, 3);
            //objLifeGame.ToggleGridCell(4, 3);
            //objLifeGame.ToggleGridCell(5, 2);
            //objLifeGame.ToggleGridCell(6, 0);
            //objLifeGame.ToggleGridCell(6, 1);
            //objLifeGame.MaxGenerations = 100;
            //objLifeGame.Init();

            // The Period 3 Oscillator pattern
            //Game objLifeGame = new Game(5, 3);
            //objLifeGame.ToggleGridCell(0, 1);
            //objLifeGame.ToggleGridCell(1, 0);
            //objLifeGame.ToggleGridCell(1, 1);
            //objLifeGame.ToggleGridCell(1, 2);
            //objLifeGame.ToggleGridCell(2, 0);
            //objLifeGame.ToggleGridCell(2, 2);
            //objLifeGame.ToggleGridCell(3, 0);
            //objLifeGame.ToggleGridCell(3, 1);
            //objLifeGame.ToggleGridCell(3, 2);
            //objLifeGame.ToggleGridCell(4, 1);
            //objLifeGame.MaxGenerations = 50;
            //objLifeGame.Init();


            // The period-15 oscillator pattern
            Game objLifeGame = new Game(1, 10);

            objLifeGame.ToggleGridCell(0, 0);
            objLifeGame.ToggleGridCell(0, 1);
            objLifeGame.ToggleGridCell(0, 2);
            objLifeGame.ToggleGridCell(0, 3);
            objLifeGame.ToggleGridCell(0, 4);
            objLifeGame.ToggleGridCell(0, 5);
            objLifeGame.ToggleGridCell(0, 6);
            objLifeGame.ToggleGridCell(0, 7);
            objLifeGame.ToggleGridCell(0, 8);
            objLifeGame.ToggleGridCell(0, 9);
            objLifeGame.MaxGenerations = 50;
            objLifeGame.Init();

            Console.ReadKey();
        }
 public void InitBoatPatternTest()
 {
     int rows = 3;
     int columns = 3;
     Game target = new Game(rows, columns);
     target.FlipGridCell(0, 0);
     target.FlipGridCell(0, 1);
     target.FlipGridCell(1, 0);
     target.FlipGridCell(1, 2);
     target.FlipGridCell(2, 1);
     target.Init();
     Assert.AreEqual(target.InputGrid[0, 0].IsAlive, true);
     Assert.AreEqual(target.InputGrid[0, 1].IsAlive, true);
     Assert.AreEqual(target.InputGrid[1, 0].IsAlive, true);
     Assert.AreEqual(target.InputGrid[1, 2].IsAlive, true);
     Assert.AreEqual(target.InputGrid[1, 2].IsAlive, true);
     Assert.AreEqual(target.InputGrid[2, 1].IsAlive, true);
 }