Ejemplo n.º 1
0
        public static void DrawFigure(string value)
        {
            Lifeless life = new Lifeless();
            Dead     dead = new Dead();

            if (value == "Rectangle")
            {
                Figure[0, 0] = life.Lifeless; Figure[0, 1] = life.Lifeless; Figure[0, 2] = life.Lifeless;
                Figure[1, 0] = life.Lifeless; Figure[1, 1] = dead.Dead; Figure[1, 2] = life.Lifeless;
                Figure[2, 0] = life.Lifeless; Figure[2, 1] = life.Lifeless; Figure[2, 2] = life.Lifeless;
            }
            if (value == "X")
            {
                Figure[0, 0] = life.Lifeless; Figure[0, 1] = dead.Dead; Figure[0, 2] = life.Lifeless;
                Figure[1, 0] = life.Lifeless; Figure[1, 1] = life.Lifeless; Figure[1, 2] = life.Lifeless;
                Figure[2, 0] = life.Lifeless; Figure[2, 1] = dead.Dead; Figure[2, 2] = life.Lifeless;
            }
            if (value == "Plus")
            {
                Figure[0, 0] = dead.Dead; Figure[0, 1] = life.Lifeless; Figure[0, 2] = dead.Dead;
                Figure[1, 0] = life.Lifeless; Figure[1, 1] = life.Lifeless; Figure[1, 2] = life.Lifeless;
                Figure[2, 0] = dead.Dead; Figure[2, 1] = life.Lifeless; Figure[2, 2] = dead.Dead;
            }
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Map[50 + i, 50 + j] = Figure[i, j];
                }
            }
        }
        public static void DrawFigure(string value)
        {
            Lifeless life = new Lifeless();
            Dead     dead = new Dead();

            if (value == "Korabl")
            {
                Figure[0, 0] = life.Lifeless; Figure[0, 1] = life.Lifeless; Figure[0, 2] = dead.Dead;
                Figure[1, 0] = life.Lifeless; Figure[1, 1] = dead.Dead; Figure[1, 2] = life.Lifeless;
                Figure[2, 0] = dead.Dead; Figure[2, 1] = life.Lifeless; Figure[2, 2] = life.Lifeless;
            }
            if (value == "X")
            {
                Figure[0, 0] = dead.Dead; Figure[0, 1] = life.Lifeless; Figure[0, 2] = dead.Dead;
                Figure[1, 0] = life.Lifeless; Figure[1, 1] = dead.Dead; Figure[1, 2] = life.Lifeless;
                Figure[2, 0] = dead.Dead; Figure[2, 1] = life.Lifeless; Figure[2, 2] = life.Lifeless;
            }
            if (value == "Plus")
            {
                Figure[0, 0] = dead.Dead; Figure[0, 1] = life.Lifeless; Figure[0, 2] = dead.Dead;
                Figure[1, 0] = life.Lifeless; Figure[1, 1] = life.Lifeless; Figure[1, 2] = life.Lifeless;
                Figure[2, 0] = dead.Dead; Figure[2, 1] = life.Lifeless; Figure[2, 2] = dead.Dead;
            }
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Map[7, 7] = Figure[0, 0]; Map[7, 8] = Figure[0, 1]; Map[7, 9] = Figure[0, 2];
                    Map[8, 7] = Figure[1, 0]; Map[8, 8] = Figure[1, 1]; Map[8, 9] = Figure[1, 2];
                    Map[9, 7] = Figure[2, 0]; Map[9, 8] = Figure[2, 1]; Map[9, 9] = Figure[2, 2];
                }
            }
        }
Ejemplo n.º 3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Lifeless life = new Lifeless();
            Dead     dead = new Dead();

            int countOfDead = 0;

            while (countOfDead != 100)
            {
                for (int i = 0; i < Map.GetLength(0); i++)
                {
                    for (int j = 0; j < Map.GetLength(1); j++)
                    {
                        if (Map[i, j] == dead.Dead)
                        {
                            MapTemp[i, j] = Map[i, j];
                        }
                        if (Map[i, j] == life.Lifeless)
                        {
                            if (i > 0 && i < 99 && j > 0 && j < 99)
                            {
                                MiniMash[0, 0] = Map[i - 1, j - 1]; MiniMash[0, 1] = Map[i, j - 1]; MiniMash[0, 2] = Map[i + 1, j - 1];
                                MiniMash[1, 0] = Map[i - 1, j]; MiniMash[1, 1] = Map[i, j]; MiniMash[1, 2] = Map[i + 1, j];
                                MiniMash[2, 0] = Map[i - 1, j + 1]; MiniMash[2, 1] = Map[i, j + 1]; MiniMash[2, 2] = Map[i + 1, j + 1];
                                RewriteToSeconsArr.Checkking(MiniMash, ref MapTemp, i, j);
                            }
                        }
                    }
                }
                Map = MapTemp;
                countOfDead++;
            }
        }
Ejemplo n.º 4
0
        private void button1_Click(object sender, EventArgs e)
        {
            Lifeless life = new Lifeless();
            Dead     dead = new Dead();

            for (int i = 0; i < Map.GetUpperBound(0) + 1; i++)
            {
                for (int j = 0; j < Map.GetUpperBound(0) + 1; j++)
                {
                    Map[i, j] = dead.Dead;
                }
            }
            //We maked our map all dead
            if (comboBox1.AccessibilityObject.Value == "Rectangle")
            {
                DrawFigure(comboBox1.AccessibilityObject.Value);
            }
            if (comboBox1.AccessibilityObject.Value == "X")
            {
                DrawFigure(comboBox1.AccessibilityObject.Value);
            }
            if (comboBox1.AccessibilityObject.Value == "Plus")
            {
                DrawFigure(comboBox1.AccessibilityObject.Value);
            }
            //Later we can add new figures
            do
            {
                for (int i = 0; i < Map.GetUpperBound(0) + 1; i++)
                {
                    for (int j = 0; j < Map.GetUpperBound(0) + 1; j++)
                    {
                        if (Map[i, j] == dead.Dead)
                        {
                            MapTemp[i, j] = Map[i, j];
                        }
                        if (Map[i, j] == life.Lifeless)
                        {
                            if (i > 0 && i < 100 && j > 0 && j < 100)
                            {
                                MiniMash[0, 0] = Map[i - 1, j - 1]; MiniMash[0, 1] = Map[i, j - 1]; MiniMash[0, 2] = Map[i + 1, j - 1];
                                MiniMash[1, 0] = Map[i - 1, j]; MiniMash[1, 1] = Map[i, j]; MiniMash[1, 2] = Map[i + 1, j];
                                MiniMash[2, 0] = Map[i - 1, j + 1]; MiniMash[2, 1] = Map[i, j + 1]; MiniMash[2, 2] = Map[i + 1, j + 1];
                                RewriteToSeconsArr.Checkking(MiniMash, ref MapTemp, i, j);
                            }
                        }
                    }
                }
            } while (true);//Условия на конец(все мертвое,все статическое,все повторяеться)
        }
Ejemplo n.º 5
0
        public static void Checkking(int[,] miniMash, ref int[,] mapTemp, int x, int y)
        {
            int      count = -1;
            Lifeless life  = new Lifeless();
            Dead     dead  = new Dead();

            for (int i = 0; i < 3; i++)
            {
                for (int k = 0; k < 3; k++)
                {
                    if (miniMash[i, k] == life.Lifeless)
                    {
                        count++;
                    }
                }
            }

            if (count == 3)
            {
                Random rnd = new Random();
                int    r   = rnd.Next(3);
                int    r2  = rnd.Next(3);
                do
                {
                    r2 = rnd.Next(3);
                    if (miniMash[r, r2] == dead.Dead)
                    {
                        miniMash[r, r2] = life.Lifeless;
                        break;
                    }
                } while (true);
            }
            if (count != 2 && count != 3)
            {
                mapTemp[x, y] = dead.Dead;
            }
            mapTemp[x - 1, y - 1] = miniMash[0, 0]; mapTemp[x, y - 1] = miniMash[0, 1]; mapTemp[x + 1, y - 1] = miniMash[0, 2];
            mapTemp[x - 1, y]     = miniMash[1, 0]; mapTemp[x, y] = miniMash[1, 1]; mapTemp[x + 1, y] = miniMash[1, 2];
            mapTemp[x - 1, y + 1] = miniMash[2, 0]; mapTemp[x, y + 1] = miniMash[2, 1]; mapTemp[x + 1, y + 1] = miniMash[2, 2];
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Lifeless life  = new Lifeless();
            Dead     dead  = new Dead();
            int      count = 0;
            // Form1_Load(sender, e);
            int y = 0;

            //We maked our map all dead
            DrawFigure(comboBox1.AccessibilityObject.Value);

            int countOfDead = 0;

            for (int i = 0; i < Map.GetLength(0); i++)
            {
                for (int j = 0; j < Map.GetLength(1); j++)
                {
                    count++;
                    PictureBox pb2 = new PictureBox();
                    pb2.BorderStyle = BorderStyle.FixedSingle;
                    pb2.Size        = new System.Drawing.Size(10, 10);
                    if (Map[i, j] == 0)
                    {
                        pb2.BackColor = Color.Black;
                    }
                    else
                    {
                        pb2.BackColor = Color.White;
                    }
                    pb2.Location = new System.Drawing.Point(pb2.Location.X + (count * 10), pb2.Location.Y + y);
                    pb[j]        = pb2;
                    Controls.Add(pb[j]);
                }
                Thread.Sleep(1000);
                y    += 10;
                count = 0;
            }

            //    while (countOfDead != Map.Length)
            //    {
            //        for (int i = 0; i < Map.GetLength(0); i++)
            //        {
            //            for (int j = 0; j < Map.GetLength(1); j++)
            //            {
            //                if (Map[i, j] == dead.Dead)
            //                {
            //                    MapTemp[i, j] = Map[i, j];
            //                }
            //                if (Map[i, j] == life.Lifeless)
            //                {

            //                    int IMin = i - 1;
            //                    if (IMin == -1)
            //                    {
            //                        IMin = 15;
            //                    }
            //                    int IMax = i + 1;
            //                    if (IMin == 16)
            //                    {
            //                        IMin = 0;
            //                    }

            //                    int JMin = j - 1;
            //                    if (JMin == -1)
            //                    {
            //                        JMin = 15;
            //                    }
            //                    int JMax = j + 1;
            //                    if (JMin == 16)
            //                    {
            //                        JMin = 0;
            //                    }//Maked world like Ellipse
            //                    MiniMash[0, 0] = Map[IMin, JMin]; MiniMash[0, 1] = Map[i, JMin]; MiniMash[0, 2] = Map[IMax, JMin];
            //                    MiniMash[1, 0] = Map[IMin, j]; MiniMash[1, 1] = Map[i, j]; MiniMash[1, 2] = Map[IMax, j];
            //                    MiniMash[2, 0] = Map[IMin, JMax]; MiniMash[2, 1] = Map[i, JMax]; MiniMash[2, 2] = Map[IMax, JMax];
            //                    RewriteToSeconsArr.Checkking(MiniMash, ref MapTemp, i, j);
            //                }
            //            }
            //        }
            //    }
            //    for (int i = 0; i < Map.Length; i++)
            //    {
            //        for (int j = 0; j < Map.Length; j++)
            //        {
            //            count++;
            //            PictureBox pb2 = new PictureBox();
            //            pb2.BorderStyle = BorderStyle.FixedSingle;
            //            pb2.Size = new System.Drawing.Size(10, 10);
            //            if (Map[i, j] == 0)
            //            {
            //                pb2.BackColor = Color.Black;

            //            }
            //            else
            //            {
            //                pb2.BackColor = Color.White;
            //            }
            //            pb2.Location = new System.Drawing.Point(pb2.Location.X + (count * 10), pb2.Location.Y + y);
            //            pb[j] = pb2; Controls.Add(pb[j]);

            //        }
            //        y += 10;
            //        count = 0;
            //    }
            //    Thread.Sleep(1000);

            //    y = 0;
            //    Map = MapTemp;
            //    countOfDead++;
            //}
        }
Ejemplo n.º 7
0
        private void button1_Click(object sender, EventArgs e)
        {
            Lifeless life  = new Lifeless();
            Dead     dead  = new Dead();
            int      count = 0;
            int      y     = 0;

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    count++;
                    PictureBox pb2 = new PictureBox();
                    pb2.BorderStyle = BorderStyle.FixedSingle;
                    pb2.Size        = new System.Drawing.Size(10, 10);
                    if (j % 2 == 0)
                    {
                        pb2.BackColor = Color.Blue;
                    }
                    else
                    {
                        pb2.BackColor = Color.White;
                    }
                    pb2.Location = new System.Drawing.Point(pb2.Location.X + (count * 10), pb2.Location.Y + y);
                    pb[j]        = pb2;
                    Controls.Add(pb[j]);
                }
                y    += 10;
                count = 0;
            }

            for (int i = 0; i < Map.GetUpperBound(0) + 1; i++)
            {
                for (int j = 0; j < Map.GetUpperBound(0) + 1; j++)
                {
                    Map[i, j] = dead.Dead;
                }
            }
            //We maked our map all dead
            if (comboBox1.AccessibilityObject.Value == "Rectangle")
            {
                DrawFigure(comboBox1.AccessibilityObject.Value);
            }
            if (comboBox1.AccessibilityObject.Value == "X")
            {
                DrawFigure(comboBox1.AccessibilityObject.Value);
            }
            if (comboBox1.AccessibilityObject.Value == "Plus")
            {
                DrawFigure(comboBox1.AccessibilityObject.Value);
            }
            Form1_Load(sender, e);
            //Later we can add new figures

            //while (true)
            //{
            //    for (int i = 0; i < Map.GetLength(0); i++)
            //    {
            //        for (int j = 0; j < Map.GetLength(1); j++)
            //        {
            //            if (Map[i, j] == dead.Dead)
            //            {
            //                MapTemp[i, j] = Map[i, j];
            //            }
            //            if (Map[i, j] == life.Lifeless)
            //            {
            //                if (i > 0 && i < 99 && j > 0 && j < 99)
            //                {
            //                    MiniMash[0, 0] = Map[i - 1, j - 1]; MiniMash[0, 1] = Map[i, j - 1]; MiniMash[0, 2] = Map[i + 1, j - 1];
            //                    MiniMash[1, 0] = Map[i - 1, j]; MiniMash[1, 1] = Map[i, j]; MiniMash[1, 2] = Map[i + 1, j];
            //                    MiniMash[2, 0] = Map[i - 1, j + 1]; MiniMash[2, 1] = Map[i, j + 1]; MiniMash[2, 2] = Map[i + 1, j + 1];
            //                    RewriteToSeconsArr.Checkking(MiniMash, ref MapTemp, i, j);
            //                }

            //            }
            //        }
            //    }
            //    Map = MapTemp;
            //    countOfDead++;
            //}
        }