예제 #1
0
 public static void SetBlinkerTo(int pPositionX, int pPositionY, Playground pPlayground)
 {
     if (pPlayground.Width > pPositionX + 2 && pPlayground.Height > pPositionY + 2)
     {
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX, pPositionY + 0).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX, pPositionY + 1).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX, pPositionY + 2).SetLife();
     }
 }
예제 #2
0
 private void PlaygroundToBitmap(Playground pPlayground, ref Bitmap pBitmap)
 {
     for (int x = 0; x < pPlayground.Width; x++)
     {
         for (int y = 0; y < pPlayground.Height; y++)
         {
             pBitmap.SetPixel(x, y, GetCellColor(PlaygroundHelper.GetCellFromPlayground(pPlayground, x, y)));
         }
     }
 }
예제 #3
0
 public static void SetLoafTo(int pPositionX, int pPositionY, Playground pPlayground)
 {
     if (pPlayground.Width > pPositionX + 3 && pPlayground.Height > pPositionY + 3)
     {
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 1, pPositionY + 0).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 2, pPositionY + 0).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 3, pPositionY + 1).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 3, pPositionY + 2).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 1).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 1, pPositionY + 2).SetLife();
         PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 2, pPositionY + 3).SetLife();
     }
 }
예제 #4
0
        private int GetNumCellNeigbors(Cell pCell)
        {
            int counter = 0;

            if ((pCell.PositionX < _mainPlayground.Width - 1) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.EAST).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionY < _mainPlayground.Height - 1) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.SOUTH).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionY > 0) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.NORTH).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionX > 0) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.WEST).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionY > 0 && pCell.PositionX < _mainPlayground.Width - 1) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.NORTH_EAST).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionY > 0 && pCell.PositionX > 0) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.NORTH_WEST).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionY < _mainPlayground.Height - 1 && pCell.PositionX < _mainPlayground.Width - 1) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.SOUTH_EAST).IsLife)
            {
                counter++;
            }
            if ((pCell.PositionY < _mainPlayground.Height - 1 && pCell.PositionX > 0) && PlaygroundHelper.GetCellNeighborOnDirectionFromPlayground(_mainPlayground, pCell, PlaygroundHelper.NeighborOnDirection.SOUTH_WEST).IsLife)
            {
                counter++;
            }

            return(counter);
        }
예제 #5
0
        public static void SetPulsarTo(int pPositionX, int pPositionY, Playground pPlayground)
        {
            if (pPlayground.Width > pPositionX + 12 && pPlayground.Height > pPositionY + 12)
            {
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 2, pPositionY + 0).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 3, pPositionY + 0).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 4, pPositionY + 0).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 8, pPositionY + 0).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 9, pPositionY + 0).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 10, pPositionY + 0).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 2, pPositionY + 12).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 3, pPositionY + 12).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 4, pPositionY + 12).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 8, pPositionY + 12).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 9, pPositionY + 12).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 10, pPositionY + 12).SetLife();

                //--------------------------------------------------------------------------------------------//

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 2).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 3).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 4).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 8).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 9).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 0, pPositionY + 10).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 12, pPositionY + 2).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 12, pPositionY + 3).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 12, pPositionY + 4).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 12, pPositionY + 8).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 12, pPositionY + 9).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 12, pPositionY + 10).SetLife();

                //--------------------------------------------------------------------------------------------//

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 2, pPositionY + 5).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 3, pPositionY + 5).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 4, pPositionY + 5).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 8, pPositionY + 5).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 9, pPositionY + 5).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 10, pPositionY + 5).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 2, pPositionY + 7).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 3, pPositionY + 7).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 4, pPositionY + 7).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 8, pPositionY + 7).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 9, pPositionY + 7).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 10, pPositionY + 7).SetLife();

                //--------------------------------------------------------------------------------------------//

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 5, pPositionY + 2).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 5, pPositionY + 3).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 5, pPositionY + 4).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 5, pPositionY + 8).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 5, pPositionY + 9).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 5, pPositionY + 10).SetLife();

                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 7, pPositionY + 2).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 7, pPositionY + 3).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 7, pPositionY + 4).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 7, pPositionY + 8).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 7, pPositionY + 9).SetLife();
                PlaygroundHelper.GetCellFromPlayground(pPlayground, pPositionX + 7, pPositionY + 10).SetLife();
            }
        }