public void Update(long delta) { if (Keyboard.IsKeyDown(Key.Escape)) { _game.BackScreen(); } }
public void Update(long delta) { _ellapsed += delta; _ellapsedFigure += delta; if (Keyboard.IsKeyDown(Key.Right)) { var screen = new SnakeMenu(_canvas, _menu); _menu.Push(screen); } if (_ellapsed >= UpdateTime) { _dx += _inc; if (_dx >= 14 || _dx < 0) { _inc = -_inc; _dx += 2 * _inc; } _ellapsed = 0; Redraw(); } if (_ellapsedFigure >= UpdateTimeFigure) { _dxFigure += 1; if (_dxFigure >= 9) { _dxFigure = 0; } _ellapsedFigure = 0; Redraw(); } }
public void Update(long delta) { _ellapsed += delta; if (Keyboard.IsKeyDown(Key.Enter)) { Keyboard.KeyUp(Key.Enter); Game.Instance.SetScreen(); } if (_ellapsed >= UpdateTime) { for (var i = 0; i < _logo.Count; i++) { _logo[i] = new Point(_logo[i].X - 1, _logo[i].Y); } _ellapsed -= UpdateTime; _steps++; Redraw(); if (_steps >= 38) { Game.Instance.SetScreen(); } } }
public void Update(long delta) { _ellapsed += delta; _ellapsedFigure += delta; if (Keyboard.IsKeyDown(Key.Left)) { _menu.Back(); } if (_ellapsed >= UpdateTime) { _dx += _inc; if (_dx >= 13 || _dx < 0) { _inc = -_inc; _dx += 2 * _inc; } _ellapsed = 0; Redraw(); } if (_ellapsedFigure >= UpdateTimeFigure) { _steps++; if (_steps >= 11) { _list = new List <Point> { new Point(1, 16), new Point(2, 16), new Point(3, 16) }; _steps = 0; } else { var head = new Point { X = _list[_list.Count - 1].X + (_steps <= 5 ? 1 : 0), Y = _list[_list.Count - 1].Y + (_steps <= 5 ? 0 : -1) }; if (_steps == 10) { _list.Add(head); } else { for (int i = 0; i < _list.Count - 1; i++) { _list[i] = _list[i + 1]; } _list[_list.Count - 1] = head; } } _ellapsedFigure = 0; Redraw(); } }
public void Update(long delta) { var screen = _menus.Peek(); if (Keyboard.IsKeyDown(Key.Enter)) { if (screen.GetType() == typeof(TetrisMenu)) { var tetris = new TetrisGame(_canvas, _next, _lines, _game); _game.PushScreen(tetris); } if (screen.GetType() == typeof(SnakeMenu)) { var snake = new SnakeGame(_canvas, _game); _game.PushScreen(snake); } } screen.Update(delta); }
public void Update(long delta) { //Увеличение прошедшего времени _ellapsed += delta; _keyboardEllapsed += delta; if (Keyboard.IsKeyDown(Key.P)) { _pause = !_pause; AudioPlayer.Pause(_pause); Keyboard.KeyUp(Key.P); Redraw(); } if (_pause) { return; } _updateTime = Keyboard.IsKeyDown(Key.Space) ? 50L : _levelTime; //Обработка нажатых клавиш if (_keyboardEllapsed >= KeyboardUpdate) { if (Keyboard.IsKeyDown(Key.Down)) { if (_wayDelta.Y != -1) { _wayDelta = new Point(0, 1); AudioPlayer.PlayEffect(AudioPlayer.EffectDirection); Keyboard.KeyUp(Key.Down); } } else if (Keyboard.IsKeyDown(Key.Up)) { if (_wayDelta.Y != 1) { _wayDelta = new Point(0, -1); AudioPlayer.PlayEffect(AudioPlayer.EffectDirection); Keyboard.KeyUp(Key.Up); } } else if (Keyboard.IsKeyDown(Key.Left)) { if (_wayDelta.X != 1) { _wayDelta = new Point(-1, 0); AudioPlayer.PlayEffect(AudioPlayer.EffectDirection); Keyboard.KeyUp(Key.Left); } } else if (Keyboard.IsKeyDown(Key.Right)) { if (_wayDelta.X != -1) { _wayDelta = new Point(1, 0); AudioPlayer.PlayEffect(AudioPlayer.EffectDirection); Keyboard.KeyUp(Key.Right); } } } //Падение фигуры if (_ellapsed >= _updateTime) { var head = new Point { X = _snake[_snake.Count - 1].X + _wayDelta.X, Y = _snake[_snake.Count - 1].Y + _wayDelta.Y }; if (head.X == _newBlock.X && head.Y == _newBlock.Y) { _snake.Add(head); AudioPlayer.PlayEffect(AudioPlayer.EffectBite); GenerateNewBlock(); } else if (Intersects(head)) { AudioPlayer.Pause(false); var gameOver = new GameOver(_canvas, _buffer, _game, this); _game.PushScreen(gameOver); return; } else { for (int i = 0; i < _snake.Count - 1; i++) { _snake[i] = _snake[i + 1]; } _snake[_snake.Count - 1] = head; } _ellapsed = 0; Redraw(); } }
public void Update(long delta) { if (_repeat) { Start(); _repeat = false; } //Увеличение прошедшего времени _ellapsed += delta; _keyboardEllapsed += delta; //Ускорение падения при нажатии ВНИЗ _updateTime = Keyboard.IsKeyDown(Key.Down) ? 10L : 1000L; if (Keyboard.IsKeyDown(Key.P)) { _pause = !_pause; AudioPlayer.Pause(_pause); Keyboard.KeyUp(Key.P); Redraw(); } if (_pause) { return; } if (_animate) { Redraw(); return; } //Обработка нажатых клавиш if (_keyboardEllapsed >= KeyboardUpdate) { if (Keyboard.IsKeyDown(Key.Left)) { _block.MoveLeft(_field); Redraw(); } if (Keyboard.IsKeyDown(Key.Right)) { _block.MoveRight(_field); Redraw(); } if (Keyboard.IsKeyDown(Key.F)) { _drawFeature = !_drawFeature; Keyboard.KeyUp(Key.F); Redraw(); } if (Keyboard.IsKeyDown(Key.Space)) { while (!CheckCollisins()) { _block.MoveDown(); } AudioPlayer.PlayEffect(AudioPlayer.EffectDrop); Keyboard.KeyUp(Key.Space); _block.MoveDown(); Redraw(); } if (Keyboard.IsKeyDown(Key.Enter) || Keyboard.IsKeyDown(Key.Up)) { _block.Rotate(_field); AudioPlayer.PlayEffect(AudioPlayer.EffectRotate); Keyboard.KeyUp(Key.Enter); Keyboard.KeyUp(Key.Up); Redraw(); } _keyboardEllapsed = 0; } //Падение фигуры if (_ellapsed >= _updateTime) { CheckCollisins(); _block.MoveDown(); Redraw(); _ellapsed = 0; } }