예제 #1
0
        public void PlayGame(Arguments arguments)
        {
            var initialGameState = LoadInitialGameState(arguments);

            _renderer = _gameRendererFactory.CreateGameRenderer(initialGameState.Board.GetType());

            initialGameState = _gameProcessor.StartNewGame(initialGameState);
            _renderer.Render(initialGameState);

            while (true)
            {
                var nextGameState = _gameProcessor.Tick();
                _renderer.Render(nextGameState);

                if (ShouldSaveGame(nextGameState))
                {
                    _gamePersistence.SaveGame(nextGameState, _savePath);
                }
            }
        }
예제 #2
0
 public void Render(IGameRenderer renderer)
 {
     renderer.Render(board);
 }
예제 #3
0
파일: Game.cs 프로젝트: markovcd/Tetris
 protected override void OnPaint(PaintEventArgs e)
 {
     _renderer.Graphics = e.Graphics;
     _renderer.Render();
 }
예제 #4
0
 public override void OnDraw(float elapsedTime)
 {
     _gameRenderer.Render(elapsedTime, Game.SpriteBatch, TransitionRenderTarget);
     _finishedSprite.Draw(Game.SpriteBatch);
 }