internal static bool MoveDown(Figure figure, ConsoleContainer container) { int oldY = figure.Position.Y; figure.Position.Y = (figure.Position.Y + container.Position.Y + 1) < container.Position.Y + container.Height ? ++figure.Position.Y : figure.Position.Y; if (oldY == figure.Position.Y) { return(true); } return(false); }
public void RenderContainer(ConsoleContainer container) { int containerPosX = container.Position.X; int containerPosY = container.Position.Y; Pixel[,] mas = container.RenderedFrame.Pixels; for (int i = 0; i < container.Height; i++) { for (int j = 0; j < container.Width; j++) { if (lastFrame != null && mas[i, j].Equals(lastFrame.Pixels[i, j])) { continue; } Console.SetCursorPosition(j + containerPosX, i + containerPosY); mas[i, j].WriteToConsole(); } } lastFrame = (Frame)container.RenderedFrame.Clone(); }
internal static void MoveRight(Figure figure, ConsoleContainer container) { figure.Position.X = (figure.Position.X + container.Position.X + figure.Width + 1) < container.Position.X + container.Width ? ++figure.Position.X : figure.Position.X; }
internal static void MoveLeft(Figure figure, ConsoleContainer container) { figure.Position.X = (figure.Position.X + container.Position.X - 1) > container.Position.X ? --figure.Position.X : figure.Position.X; }
public Game(ConsoleContainer container) { _refreshEventProvider = WindowRefreshEventProvider.GetInstance(); RefreshTask = _refreshEventProvider.UsedTask; _gameContainer = container; }