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); }
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; }
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); }