Под DOS я и сам использовал самодельные шрифты. Написал даже редактор шрифтов. Под винды это, увы, непременимо.
Неактивен
GrAndrey написал:
У меня была прога, заменяющая стандартный ДОСовский шрифт, со встроенным "графическим" редактором. Использовал для улучшения графики в "рогалике". К сожалению, забыл как называется, а найти у себя уже не могу. С ДОС-игрой под виндами будет работать, если запустить их в одной консоли (запустить по очереди через батник).
Под ВинХР работает?
И все таки я не пойму. Зачем менять начертание шрифта в консоли, неужели цвета недостаточно?
С другой стороны есть тот же RichEdit, если так хочется "продвинутого" форматирования и прочих прибамбасов.
Кстати в HKEY_CURRENT_USERConsole лежат настройки консоли.
Менять из программы их нужно ДО открытия консольного окна.
Uten написал:
Кстати в HKEY_CURRENT_USERConsole лежат настройки консоли.
Менять из программы их нужно ДО открытия консольного окна.
А если программа открывается уже в консоли? Например, в FAR'e?
Неактивен
В любом случае это совсем не то, что я мне нужно.
Неактивен
Недавно, копаясь в kernel32.dll нашел следующие функции:
SetConsoleFont
SetConsolePalette
SetConsoleIcon
в Win32Sdk о них ни слова.
Это то что нужно?
Не знаю. Но вряд ли.
Неактивен
Ну как у вас там? Месяц прошел, а новостей не слышно... ??? :-/
Как это ни удивительно, но дело идёт...
Неактивен
В настоящее время идёт доработка транслятора базового языка платформы в байт-код. После этого будет создана "виртуальная машина" для проигрывания этого байт-кода, а следом за этим пойдёт реализация работы с объектами платформы: сложными типами данных, предметами, локациями, словарями, парсером и т.п. (и усложнение виртуальной машины)... Дел много, но они движутся в нужном направлении...
Неактивен
Кое-что вырисовывается...
Минимальный (и традиционный) текст программы выглядит так:
{Программа} {НачалоРаботы} НаЭкран("Привет, мир!"); {КонецРаботы} {КонецПрограммы}
Объектный файл (типа ассемблерного представления байт-кода) получается такой:
; Объектный файл создан компилятором xXxxxxxx.Xx (c) 2004-2005 Olegus t.Gl. ; Дата компиляции: 03.04.05 00:22:18 ; ; ТАБЛИЦА СТРОКОВЫХ РЕСУРСОВ STRING 0 , Привет, мир! ; ;СТАРТОВЫЙ МОДУЛЬ ;Тело модуля 1: FUNC_NEWSTACK 2: PUSHS 0 3: ADD_PARAM 4: FUNC_CALL_INT 23001 ;КОНЕЦ СТАРТОВОГО МОДУЛЯ
Работа на этом останавливаться не собирается...
Неактивен
Olegus, I am glad to see you work!
Это выглядит понятно! А как будет смотреться что-то посложнее?
Неактивен
А что именно интересует?
В настоящее время завершается рзработка базового уровня: арифметические, логические и строковые операции и функции, операторы ветвления, операторы циклов, работа с процедурами и функциями.
Работа с объектами: локациями, предметами, персонажами, словарём и т.п., будет начата в ближайшее время.
Неактивен
Потихонечку работа движется. Не так быстро, как хотелось бы, но всё же... Базовый язык — это всё-таки основа.
Неактивен
Однако, работа над контролем за ошибками, которые может допустить программист, — адский и очень кропотливый труд...
Кроме того продолжается работа над процедурами и функциями, создаваемыми программистом.
Неактивен
К сожалению, но ничего конкретного сообщить нечего. Продолжается работа над реализацией процедур и функций (с произвольным числом параметров, с параметрами по умолчанию и т.п.)
Неактивен
Судя по приведенному выше фрагменту кода, синтаксис будет похож на Бейсик. Это, безусловно, будет большим плюсом в плане освоения системы. Единственное, что тревожит как программиста - нумерация строк, поскольку это может (по собственному опыту знаю) привести к нерациональному использованию аналога команды "goto", что очень осложняет разработку более-менее серьезной программы.
Тем не менее, платформа выглядит перспективной. В любом случае - удачи в разработке. Подобная программа может серьезно изменить ситуацию в нашем (да простят меня остальные читатели форума) "IF-болоте".
Неактивен
ifn00b написал:
Единственное, что тревожит как программиста - нумерация строк, поскольку это может (по собственному опыту знаю) привести к нерациональному использованию аналога команды "goto", что очень осложняет разработку более-менее серьезной программы.
А причём здесь нумерация строк? Они пронумерованы в объектном файле (для контроля и только), в исходниках для goto ("перейти") будут использоваться метки.
Неактивен
Переделка объектной (или как там её) модели на "Глобальный контекст — Модуль объекта — Модуль процедуры/функции" занимает очень много времени и сил. Однако в результате как-то само собой решились вопросы использования констант, а также предупреждения о неиспользовании тех или иных переменных. К тому же сдвинулась с места работа с созданием процедур и функций. Отшлифовался немного вопрос видимости переменных, а также процедур и функций. Доработан вопрос возможности перекрытия переменных, процедур и функций Глобального (общего) модуля переменными, процедурами и функциями локальных модулей.
Рутина, но без её реализации подойти к самому интересному: объектам игрового мира, невозможно...
Неактивен
Прошёл год с объявления о начале работ. Дел было сделано не так уж мало, но и недостаточно для каких-либо демонстраций. В 2004 году по ряду причин (часто личного характера) работа топталась на одном месте. Основной прорыв был сделан в начале 2005 года, после чего можно с уверенностью говорить о том, что результат всё-таки будет.
Неактивен
Дела идут со скрипом, времени настолько мало, что не удаётся даже толком высыпаться. Однако ко второй годовщине с начала работ, что-нибудь да приготовлю...
Неактивен
Не сочтите за неуважение к Вашей разработке, просто продложение:
Может быть, попробовать реализовать простое подмножество языка Смолток? Там есть все, что нужно. Кроме того, еще в начале 90х под ДОС был создан русский интерпретатор, с переведенными на наш язык ключевыми словами/библиотекой класов, можно на на этот вариант Смолтока и соориентироваться.
P.S. Вобще, выдержать четкую границу между автором-писателем и автором-программистом достаточно трудно. Ведь при большом желании написать собственную текстовую игру вполне можно освоить какой-нибудь Phyton или тот же Smalltalk. А чтобы текстовый движок не сковывал фантазию автора, придется все более и более приближать его к функциональности обычного универсального языка программирования.
Успехов!
P.S. А сейчас вобще довольно грустная тенденция просматривается в современном искусстве, в том числе и компьютерном. Упор на технологичность, в ущерб собственно творчеству. Предочитают делать свои языки, движки, системы автоматической генерации и тд... избегая главного.
Не сочтите за критику Вашей работы, просто некоторые размышления...
Неактивен