Ejemplo n.º 1
0
        static int Main(string[] args)
        {
            //preparing Console
            Console.Clear();
            Console.CursorVisible = false;

            _drawer = new ConsoleDrawing();

            ConsoleDrawing.ShowControls();

            Console.ReadKey(true);
            Console.Clear();

            _game = new Game(null);
            _game.Start();
            _gameTimer          = new System.Timers.Timer(800);
            _gameTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
            _gameTimer.Start();


            _drawer.DrawScene(_game);

            controller = new Controller(0);
            if (controller.IsConnected)
            {
                controllerPollTimer          = new System.Timers.Timer(50);
                controllerPollTimer.Elapsed += ControllerPoll;
                controllerPollTimer.Start();
                prevControllerState = controller.GetState();
            }


            while (_game.Status != Game.GameStatus.Finished)
            {
                if (Console.KeyAvailable)
                {
                    KeyPressedHandler(Console.ReadKey(true));
                    _drawer.DrawScene(_game);
                    _gameTimer.Enabled = true;
                }
            }
            _gameTimer.Stop();
            _drawer.ShowGameOver(_game);

            Console.ResetColor();
            Console.CursorVisible = true;
            return(0);
        }
Ejemplo n.º 2
0
 private static void OnTimedEvent(object source, ElapsedEventArgs e)
 {
     if (_game.Status != Game.GameStatus.Finished)
     {
         if (_game.Status != Game.GameStatus.Paused)
         {
             _timerCounter += _timerStep;
             _game.MoveDown();
             if (_game.Status == Game.GameStatus.Finished)
             {
                 _gameTimer.Stop();
             }
             else
             {
                 _drawer.DrawScene(_game);
                 _ramDrawer.DrawScene(_game);
                 if (_timerCounter >= (1000 - (_game.Lines * 10)))
                 {
                     _gameTimer.Interval -= 50;
                     _timerCounter        = 0;
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
        private static void ControllerButtonHandler()
        {
            State curState = controller.GetState();

            if (curState.Gamepad.Buttons != prevControllerState.Gamepad.Buttons)
            {
                switch (curState.Gamepad.Buttons)
                {
                case GamepadButtonFlags.A:
                    _game.Rotate(false);
                    break;

                case GamepadButtonFlags.B:
                    _game.Rotate(true);
                    break;

                case GamepadButtonFlags.DPadUp:
                    _game.SmashDown();
                    break;

                case GamepadButtonFlags.DPadDown:
                    _game.MoveDown();
                    break;

                case GamepadButtonFlags.DPadLeft:
                    _game.MoveLeft();
                    break;

                case GamepadButtonFlags.DPadRight:
                    _game.MoveRight();
                    break;

                case GamepadButtonFlags.Start:
                    _game.Pause();
                    break;

                case GamepadButtonFlags.X:
                    _game.HoldPiece();
                    break;
                }
                _drawer.DrawScene(_game);
                prevControllerState = curState;
            }
        }
Ejemplo n.º 4
0
        static int Main(string[] args)
        {
            //preparing Console
            Console.Clear();
            Console.CursorVisible = false;

            _drawer    = new ConsoleDrawing();
            _ramDrawer = new RamDrawing();
            ConsoleDrawing.ShowControls();

            Console.ReadKey(true);
            Console.Clear();

            _game = new Game(_ramDrawer.Ram.Count, _ramDrawer.Ram.Max(r => r.Count()));
            _game.Start();
            _gameTimer          = new System.Timers.Timer(800);
            _gameTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
            _gameTimer.Start();

            _drawer.DrawScene(_game);
            _ramDrawer.DrawScene(_game);

            while (_game.Status != Game.GameStatus.Finished)
            {
                if (Console.KeyAvailable)
                {
                    KeyPressedHandler(Console.ReadKey(true));
                    _drawer.DrawScene(_game);
                    _ramDrawer.DrawScene(_game);
                    _gameTimer.Enabled = true;
                }
            }

            _gameTimer.Stop();
            _drawer.ShowGameOver(_game);

            Console.ResetColor();
            Console.CursorVisible = true;
            return(0);
        }
Ejemplo n.º 5
0
        public IGameInstance CreateGameInstance(bool demoMode)
        {
            var res = new Game();

            if (demoMode)
            {
                Console.Clear();
                res.OnMoveFinished = () =>
                {
                    _drawer.DrawScene(res);
                    Thread.Sleep(800);
                };
            }
            res.Start();
            return(res);
        }