Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            var playerInput = new PlayerInput();

            var wallTile        = new WallTile();
            var emptyTile       = new EmptyTile();
            var pelletTile      = new PelletTile();
            var tileTypeFactory = new TileTypeFactory(wallTile, emptyTile, pelletTile);

            var ghostTile      = new GhostTile();
            var ghostBehaviour = new RandomGhostBehaviour(ghostTile);

            var pacmanTile      = new PacmanTile();
            var pacmanBehaviour = new PacmanBehaviour(pacmanTile);

            var fileReader        = new FileReader();
            var mazeFactory       = new MazeFactory(fileReader, tileTypeFactory);
            var gameSettingLoader = new GameSettingLoader(fileReader);

            var gameLogicValidator = new GameLogicValidator();
            var gameEngine         = new GameEngine(gameLogicValidator);

            var display       = new Display();
            var spriteFactory = new SpriteFactory();
            var levelFactory  = new LevelFactory(tileTypeFactory, display, spriteFactory, gameLogicValidator, gameEngine, playerInput, pacmanBehaviour, ghostBehaviour);

            var game = new Game(levelFactory, gameSettingLoader, display, mazeFactory, playerInput);

            game.PlayGame();
        }
Ejemplo n.º 2
0
        public void ChooseDirectionShouldReturnCorrectDirection(int randomNumber, Direction expectedDirection)
        {
            var mockRandom = new Mock <IRng>();

            mockRandom.Setup(m => m.Next(0, 4)).Returns(randomNumber);

            var randomGhostBehaviour = new RandomGhostBehaviour(new GhostTile())
            {
                Rng = mockRandom.Object
            };

            Assert.Equal(expectedDirection, randomGhostBehaviour.GetNewDirection(Direction.Down));
        }