예제 #1
0
        static void Main(string[] args)
        {
            int gridX              = 250;
            int gridY              = 250;
            int livingPercentage   = 10;
            int predatorPercentage = 10;

            grid Field = new grid(gridX, gridY);

            Field.fillGrid(livingPercentage, predatorPercentage); //  I.e. 15% are living, and 50% of these are Predators

            int maxIterations = 1000;
            int iteration     = 0;

            int[,] trackingArray = new int[maxIterations, 2];

            Drawing drawing = new Drawing();
            Image   gif     = drawing.DrawGrid(Field, trackingArray, iteration);

            gif.Save("Start.gif");

            while (iteration < maxIterations)
            {
                Field.MoveCreatures();
                Field.HandleEndOfRound();
                Image newImage = drawing.DrawGrid(Field, trackingArray, iteration);
                gif.Frames.InsertFrame(iteration, newImage.Frames.RootFrame);
                Console.WriteLine(iteration);
                iteration++;
            }

            for (int i = 0; i < trackingArray.Length / 2; i++)
            {
                Console.WriteLine($"Round Number :{i}, Number Of Predators : {trackingArray[i,0]}, Number Of Prey:{trackingArray[i,1]}");
            }

            gif.Save("result.gif");
        }