Ejemplo n.º 1
0
            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();
            }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 public Game(ConsoleContainer container)
 {
     _refreshEventProvider = WindowRefreshEventProvider.GetInstance();
     RefreshTask           = _refreshEventProvider.UsedTask;
     _gameContainer        = container;
 }