Exemple #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="width">width of the maze to create</param>
 /// <param name="height">height of the maze to create</param>
 /// <param name="mice">number of mice to create</param>
 /// <param name="randomNumberGenerator">function for generating random numbers</param>
 /// <param name="mazeGenerator">instance to generate the maze</param>
 /// <param name="mouseGenerator">factory for the mice</param>
 public Game(int width, int height, int mice, RandomNumberGenerator randomNumberGenerator, IMazeGenerator mazeGenerator, MouseGenerator mouseGenerator)
 {
     mazeGenerator.Initialize(randomNumberGenerator);
     maze        = mazeGenerator.Generate(width, height);
     targetField = new Position(randomNumberGenerator(0, width), randomNumberGenerator(0, height));
     for (int i = 0; i < mice; ++i)
     {
         this.mice.Add(new GameViewAgent(randomNumberGenerator, mouseGenerator(), maze));
     }
 }