Exemple #1
0
        public async Task Start()
        {
            List <Task> tasks = new List <Task>();

            foreach (Monkey monkey in monkeys)
            {
                tasks.Add(monkey.Jump());
            }
            Task.WaitAll(tasks.ToArray());

            ImageGenerator.Save(ID);
        }
Exemple #2
0
        public Forest(List <String> monkeyNames, int amountOfTrees, int width, int height)
        {
            ImageGenerator = new ImageGenerator(width, height);
            ID             = HighestID;
            HighestID++;
            this.Width  = width;
            this.Height = height;

            trees = GenerateTrees(amountOfTrees);
            List <Monkey> monkeys = new List <Monkey>();
            Random        random  = new Random();

            foreach (string name in monkeyNames)
            {
                Monkey monkey = new Monkey(trees[random.Next(amountOfTrees)], this, name);
                monkeys.Add(monkey);
            }
            this.monkeys = monkeys;
        }
Exemple #3
0
        private List <Tree> GenerateTrees(int amountOfTrees)
        {
            Random      random = new Random();
            List <Tree> trees  = new List <Tree>();

            for (int i = 0; i < amountOfTrees; i++)
            {
                int x = random.Next(Width);
                int y = random.Next(Height);
                while (CheckLocationConflict(trees, x, y))
                {
                    x = random.Next(Width);
                    y = random.Next(Height);
                }

                Tree tree = new Tree(x, y);
                ImageGenerator.drawTree(x, y);
                trees.Add(tree);
            }
            return(trees);
        }