/// Стереть, нарисованные объекты void RemoveGame(Drawer d) { d.Remove(playGround); d.Remove(rf); d.Remove(MenuPaused); d.Remove(GameOverActionMenu); d.Remove(border); }
public override void PrepareForNextFrame(Drawer d) { d.Remove(playGroundDrawn); d.Remove(rf); if (border != null) { d.Remove(border); } }
public override void PrepareForNextFrame(Drawer d) { if (!IsPaused) { d.Remove(MenuPaused); } d.Remove(snake.ElementContent[snake.ElementContent.Length - 1]); d.Remove(apple); }
private void CloseGame(Drawer d, CloseReason reason) { RemoveAllGame(d); MessageBox mbox = new MessageBox("", 40, 5, FieldSize.Width, FieldSize.Height, Padding); switch (reason) { case CloseReason.Snake1Win: mbox.Text = $"Первый игрок выиграл со счетом {snake1Progress.Score}!"; break; case CloseReason.Snake2Win: mbox.Text = $"Второй игрок выиграл со счетом {snake2Progress.Score}!"; break; case CloseReason.Draw: mbox.Text = "Ничья!"; break; case CloseReason.ForceClose: d.Remove(border); RemoveAllGame(d); isGameOver = true; return; } FinalScreen = true; d.Create(mbox); d.RedrawAll(); }
public override void NextFrame(Drawer d) { if (IsPaused) { d.Create(MenuPaused); CheckPauseMenuSomethingSelected(d); return; } else { d.Remove(MenuPaused); } if (playGround.GameOver) { playGround.IsFocused = false; d.Create(GameOverActionMenu); UserSelectionOnPlaygroundFilled(d); return; } this.border = d.CreateBorder(ConfigStorage.Current.TetrisBorderChar.Value, new Padding( leftBorderPlayground, FieldSize.Width - rightBorderPlayground, Padding.Top, Padding.Bottom)); playGround.NextFrame(); rf.ChangeNextTetromino(playGround.NextTetromino); rf.SetScore(playGround.Score); d.Create(rf); d.Create(playGround); playGroundDrawn = playGround.ElementContent; }
void RemoveAllGame(Drawer d) { d.Remove(snake1); d.Remove(snake2); d.Remove(snake1Progress.StatusBar); d.Remove(snake2Progress.StatusBar); d.Remove(apple); d.Remove(MenuPaused); }
/// Стереть элементы игры void RemoveGame(Drawer d) { d.Remove(snake); d.Remove(apple); d.Remove(progress.StatusBar); d.Remove(GameOverActionMenu); d.Remove(MenuPaused); d.Remove(border); }
/// <summary> /// Пользователь выбирает действие /// </summary> void GameOverUserAction(Drawer d) { d.Create(GameOverActionMenu); this.GameOverActionMenu.IsFocused = true; if (!GameOverActionMenu.IsSelected) { return; } RemoveGame(d); d.Remove(GameOverActionMenu); if (GameOverActionMenu.SelectedIndex == 0) { Init(); } else if (GameOverActionMenu.SelectedIndex == 1) { isGameOver = true; } }
public static ScreenCaller Call(Screen screen, Drawer d, Func <int> delay) { var output = new ScreenCaller(); screen.OnExit += (o) => { output.prevScreenResult = o; }; do { d.Create(screen); d.DrawToConsole(); Thread.Sleep(delay()); } while (!screen.Exited); d.Remove(screen); d.DrawToConsole(); screen.OnExit -= (o) => { output.prevScreenResult = o; }; return(output); }
void RemoveGame(Drawer d) { if (drawnBird != null) { d.Remove(drawnBird); } foreach (var col in drawnColumns) { d.Remove(col); } d.Remove(buttonLine); d.Remove(topLine); d.Remove(scoreCounter); d.Remove(MenuPaused); }
/// <summary> /// Стереть не нужное содержимое и перезапустить игру /// </summary> void RestartGame(Drawer d) { d.Remove(GameOverActionMenu); d.Remove(snake); Init(); }