Пример #1
0
        public static void ConsoleSetings()
        {
            Console.Title         = "The best Game!!!!";
            Console.CursorVisible = false;

            Console.SetWindowSize(Width, Height);
            Console.SetBufferSize(Width, Height);
#if DEBUG
            Console.SetWindowSize(Width + 50, Console.LargestWindowHeight);
            Console.SetBufferSize(Width + 50, Console.LargestWindowHeight);
#endif

#if DEBUG
            GameLogger.AddLog(ref Program.log, "Настройки консоли установлены");
#endif
        }
Пример #2
0
        public static void Hide(GameLogger gameLogger)
        {
            int yOffset = 3;

            for (int i = 0; i < gameLogger.MessageCount; i++)
            {
                // вылазит за буфер почини!

                Console.SetCursorPosition(Settings.LogWidthStartPos + 20, ++yOffset);
                // + Color
                Console.Write("{0,30}", " ");
                if (yOffset >= Console.WindowHeight - 1)
                {
                    break;
                }
            }
        }
Пример #3
0
 public static void AddLog(ref GameLogger log, string message)
 {
     log.isChanged = true;
     if (log.MessageCount < log.Messages.Length)  // проверка на переполненость массива
     {
         //проверка на то, являестся ли новая запись идентичной прошлой
         if (log.MessageCount > 0 && message == log.Messages[log.MessageCount - 1].Message)
         {
             log.Messages[log.MessageCount - 1].CountIdenticalLogs++;
         }
         else
         {
             log.Messages[log.MessageCount] = new LogItem()
             {
                 Message = message, Color = 0
             };
             ++log.MessageCount;
         }
     }
 }
Пример #4
0
        public static void PrintBracket()
        {
            Console.SetCursorPosition(0, 0);
            Console.BackgroundColor = ConsoleColor.Red;

            for (int i = 0; i < Settings.Width - 1; i++)
            {
                Console.SetCursorPosition(i, 0);                                      // верхняя линия
                Console.Write(" ");
                Console.SetCursorPosition(i, Settings.GetGameArea().To.newPos.y - 1); // нижняя линия
                Console.Write(" ");
            }
            for (int i = 0; i < Settings.Height - 1; i++)
            {
                Console.SetCursorPosition(0, i);                  // левая линия
                Console.Write(" ");
                Console.SetCursorPosition(Settings.Width - 1, i); // правая линия
                Console.Write(" ");
            }

            for (int i = 0; i <= Settings.GetGameArea().To.newPos.y - 1; i++)
            {
                Console.SetCursorPosition(Settings.GetGameArea().To.newPos.x - 1, i); // левая линия
                Console.Write(" ");
            }

            for (int i = Settings.GetGameArea().To.newPos.x - 1; i < Settings.Width; i++)
            {
                Console.SetCursorPosition(i, 4);
                Console.Write(" ");
            }

            Console.SetCursorPosition(Settings.GetGameArea().To.newPos.x + 3, 6);
            Console.Write(" ");

            Console.ResetColor();

#if DEBUG
            GameLogger.AddLog(ref Program.log, "Статичная рамка игры нарисована");
#endif
        }
Пример #5
0
        public static void PrintLog(GameLogger l)
        {
            if (l.isChanged)
            {
                Hide(l);
                int yOffset = 3;

                for (int i = l.MessageCount - 1; i >= 0; i--)
                {
                    Console.SetCursorPosition(Settings.LogWidthStartPos + 20, yOffset);
                    // + Color
                    Console.Write("{0,30} ({1,3} раз)", l.Messages[i].Message, l.Messages[i].CountIdenticalLogs + 1);
                    ++yOffset;

                    if (yOffset >= Console.WindowHeight - 1)
                    {
                        break;
                    }
                }
                l.isChanged = false;
            }
        }