示例#1
0
        public static void Main()
        {
            var canvas = (HTMLCanvasElement)Document.GetElementById("scene");
            var image  = new HTMLImageElement();

            image.Src     = "/Content/Images/Sprites.png";
            image.OnLoad += e =>
            {
                var renderContext   = new RenderContext(canvas, image);
                var camera          = new Camera(new Vector2D(0, 0));
                var map             = new Map(10, 10, (x, y) => 1);
                var tileTypeFactory = new TileTypeFactory(
                    new Dictionary <int, TileType>
                {
                    { 0, new TileType(64, 0, 64, 32) },
                    { 1, new TileType(0, 0, 64, 32) },
                }
                    );

                Window.OnLoad = Window.OnResize = ev =>
                {
                    renderContext.ResizeCanvas(Window.InnerWidth, Window.InnerHeight);
                };

                new GameContext(renderContext, map, tileTypeFactory, camera).Start();
            };
        }
示例#2
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();
        }