Как заполнить непрямоугольное пространство в окне консоли? - PullRequest
0 голосов
/ 23 сентября 2019

Итак, я делаю RPG-игру сверху вниз в окне консоли (с движущимися персонажами и всем остальным), и до сих пор созданный мной игровой движок мог отображать только прямоугольники, я хочу изменить это, я хочу сделатьдругие формы, такие как треугольники или, может быть, круги.

Так что я использую этот фрагмент кода, который я нашел, чтобы визуализировать прямоугольники в текущей версии моего игрового движка, эта функция принимает координаты SMALL_RECT и заполняетпробел с указанным символом внутри c:

BOOL cls( SMALL_RECT* lpScrollRectangle, WCHAR c)
{
    HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbi;

    if (GetConsoleScreenBufferInfo(hConsoleOutput, &csbi))
    {
        CHAR_INFO fi = { c, csbi.wAttributes };
        if (!lpScrollRectangle)
        {
            csbi.srWindow.Left = 0;
            csbi.srWindow.Top = 0;
            csbi.srWindow.Right = csbi.dwSize.X - 1;
            csbi.srWindow.Bottom = csbi.dwSize.Y - 1;
            lpScrollRectangle = &csbi.srWindow;


        }
        return ScrollConsoleScreenBufferW(hConsoleOutput, lpScrollRectangle, 0, csbi.dwSize, &fi);
    }
    return FALSE;
}

Я действительно ничего не знаю о Win32 API.

Короче говоря, мой вопрос: Есть ли способ отобразить непрямоугольные фигуры, такие как треугольники, в окне консоли?может быть, система, основанная на вершине?

Большое спасибо!:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...