Ответы пользователя по тегу Разработка игр
  • Как реализовать перемещение в терминале?

    @DollaR84
    Не вспомню всех деталей реализации класса по работе с консолью, но могу точно указать направления для поисков следующее:
    • Функция для получения handle консоли: GetStdHandle;
    • создавался буфер char'ов размером с игровое поле заданного размера (100x80). Затем функцией SetConsoleScreenBufferSize устанавливался буфер консоли размером с нашим буфером;
    • Для заполнения консоли по ее хендлу из буфера используется функция WriteConsoleOutput

    Обновление буфера консоли необходимо проводить по таймеру, но как он был там реализован уже не припомню. То есть по таймеру необходимо перерисовывать всю консоль.
    Ответ написан
    2 комментария
  • Pygame. Как сделать округлые углы у прямоугольника?

    @DollaR84
    можно ли рамки и заливку прямоугольника сделать разными цветами, если да, то как?

    Тут все просто, конструктор прямоугольника имеет вид:
    pygame.draw.rect(surface, color, (x1, y1, size_x, size_y), width)
    То, что вас интересует, кроется в последнем параметре width.
    Если он задан то рисуется рамка прямоугольника заданной ширины, если его не задать, то рисуется прямоугольник с заливкой.
    Например, чтобы нарисовать прямоугольник, у которого рамка и заливка будут разных цветов, надо нарисовать два прямоугольника:
    pygame.draw.rect(surface, color1, (x1, y1, size_x, size_y))
    pygame.draw.rect(surface, color2, (x1, y1, size_x, size_y), width)


    С закругленными углами сложнее.
    Думаю там нужна работа с масками.
    Ответ написан
    Комментировать