示例#1
0
        public void UpdateMazeTileDisplays(ITileTypeFactory tileTypeFactory, IMaze gameMaze, ISprite pacman,
                                           IEnumerable <ISprite> ghosts)
        {
            pacman.UpdateDisplay();
            gameMaze.UpdateMazeArray(pacman.X, pacman.Y, pacman.SpriteDisplay, tileTypeFactory.Empty);
            gameMaze.UpdateMazeArray(pacman.PrevX, pacman.PrevY, tileTypeFactory.Empty, tileTypeFactory.Empty);
            foreach (var ghostSprite in ghosts)
            {
                var prevTileType = gameMaze.MazeArray[ghostSprite.PrevX, ghostSprite.PrevY].HasBeenEaten
                    ? tileTypeFactory.Empty
                    : tileTypeFactory.Pellet;

                gameMaze.UpdateMazeArray(ghostSprite.PrevX, ghostSprite.PrevY, prevTileType, tileTypeFactory.Empty);
                gameMaze.UpdateMazeArray(ghostSprite.X, ghostSprite.Y, ghostSprite.SpriteDisplay, tileTypeFactory.Empty);
            }
        }