Вопросы о переносе Змейки aka Череп на Linux
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Здравствуйте.
Здесь я решил задавать вопросы по реализации змейки от Черепа на Linux, коих, я думаю будет много.
Первый вопрос:
Что делать с :
???
Насколько я понимаю, данная функция может менять два параметра: цвет символа и цвет фона сивола. Но эта функция сугубо виндовая, в результате возникает проблема: как её реализовать так, чтобы остальной код ничего не заметил?
Как я понял, функция используется всего один раз. Может убрать её, и заменить на:
?
Понимаешь правильно. Но вот на счёт виндовости — ошибаешься. Функция
SetConsoleTextAttribute()
— а вот она именно виндовая — специально обёрнута в метод класса, для упрощения портирования.PS. aka — сокращение от «as known as» — «также известный как». Поэтому название темы выглядит... странно.
В linux используются специальные escape-последовательности для определения цвета.
Пример вывода цветного текста (взял на StackOverflow).
Можно и через escape-последовательности. Вопрос производительности. Если бы я писал этот модуль под DOS на 286-й машине, я бы писал символы и атрибуты непосредственно в видеопамять.
Кстати, под виндой такой финт тоже возможен. Только для этого в память перед запуском игры надо загружать специального резидента типа ANSIcon. Что совершенно «не ice».
porshe, на сколько я понял, тебе таки удалось портировать «Змейку» на Линукс.
А опубликовать результаты ты забыл? Особо интересует как стал выглядеть класс
CScreen
.Вот здесь я уже выкладывал исходники.