Это зависит от того, на какой платформе вы находитесь. Наиболее распространенный способ сделать это - распечатать escape-последовательности ANSI. В качестве простого примера приведу код на Python из сценариев сборки blender :
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
Чтобы использовать такой код, вы можете сделать что-то вроде
print bcolors.WARNING + "Warning: No active frommets remain. Continue?"
+ bcolors.ENDC
Это будет работать в Unix, включая OS X, Linux и Windows (при условии, что вы используете ANSICON , или в Windows 10 при условии, что вы включаете VT100 эмуляцию ). Есть ANSI коды для установки цвета, перемещения курсора и т. Д.
Если вы собираетесь усложниться с этим (и если вы пишете игру, это звучит так, как если бы вы писали), вам следует заглянуть в модуль «curses», который обрабатывает многие сложные части этого для вас. Python Curses HowTO - хорошее введение.
Если вы не используете расширенный ASCII (т.е. не на ПК), вы застряли с символами ascii ниже 127, и «#» или «@», вероятно, является вашей лучшей ставкой для блока. Если вы можете убедиться, что ваш терминал использует расширенный набор символов IBM ascii , у вас есть еще много вариантов. Символы 176, 177, 178 и 219 являются «блочными символами».
Некоторые современные текстовые программы, такие как «Dwarf Fortress», эмулируют текстовый режим в графическом режиме и используют изображения классического шрифта для ПК. Вы можете найти некоторые из этих растровых изображений, которые можно использовать на Dwarf Fortress Wiki см. ( пользовательских наборов плиток ).
В демонстрационном конкурсе в текстовом режиме имеется больше ресурсов для создания графики в текстовом режиме.
Хм .. Я думаю, что немного увлекся этим ответом. Хотя я планирую эпическую текстовую приключенческую игру. Удачи с вашим цветным текстом!