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