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