Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср ноя 22, 2017 13:15

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Очередной долгострой
Автор Сообщение
  Заголовок сообщения:  Очередной долгострой  Ответить с цитатой
Конечно, <...> полработы (а тут - процентов 10) не показывают, но я все пытаюсь продвинуть идею совмещения программирования игры с игрой. (Не пугайтесь размера текста - львиную его долю составляют базы данных и тексты правил).

В процессе рассматриваются следующие вопросы:

1. Может ли FORTH решить проблему самодокументирования? Т.е. если программисты-компиляторщики вынуждены изобретать некоторые промежуточные формы хранения, автоматически преобразуемые в программы и документацию, то, может, программисты-интерпрентаторщики могут этого избежать, совместив все в одном флаконе?

2. Может ли компьютерная модель настольной игры быть полезна/интересна? Или, по мере совершенствования, модель превратится в полную 3D-копию игры на экране?

3. Насколько FORTH приспособлен для такой игры?

Начну с последнего.

Конечно, в идеале, программист-игрок должен проводить всю партию в пределах одной FORTH сессии. Однако, этому мешают два обстоятельства: а) некоторые вещи делать удобнее другими средствами ОС; б) злоупотребление произвольным доступом к памяти приводит к постоянным обрушениям FORTH-программы.
Решение в виде включения вызова в некую ОС-оболочку помогает, но несколько нарушает классическую лепоту. Например, включение первых версий FOBOS внутрь DOS-скрипта привело к тому, что ассемблерный код FORTH-системы я правил чуть ли не чаще памяти блоков - удобнее было добавить что-то прямо в код, чем мучить стеки.
В Windows стало еще неудобнее. Конечно, я могу собрать вызов всего необходимого в одно окно и, даже, красиво оформить, но переключения между окнами отнимают у меня больше времени, чем выбор нужной операции в DOS-скрипте. Да тут еще Win32Forth то и дело решает мне "помочь", а антивирус, наоборот,- напомнить, что этот самый Win32Forth еще тот вирус. В общем, весь кайф от ненужности компилирования как-то пропадает.

Конечно, даже, если FORTH работает на голом железе, то подобная "игра" все равно потребует разделения кода на уже безопасный (включенный в безусловно запускаемую систему) и отлаживаемый, который дозапускается вручную. Иначе, один раз возникнув, смертельная ошибка не сможет быть исправлена, т.к. каждый перезапуск будет к ней приводить.

И, вот, заметив, что я пишу практически все в обычном текстовом редакторе, а в FORTH-окошке только запускаю-отлаживаю, я понял, что ситуацию может исправить только блоковая память. Не говоря уже о том, что она очень бы сильно облегчила программирование сабжа. Перенеся редактор внутрь FORTH окна, я упрощу и перезапуск FORTH-системы, т.к. одну кнопку проще удобнее разместить, чем окошко с несколькими. А блоковый программируемый редактор гораздо удобнее для игры, чем обычный-файловый.

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

По крайней мере, FORTH-запись этой фигни оказалась вполне удобной. Как программист-игрок, я могу практически одновременно читать правила, писать код, проверять, как он (и правила) работают, и делать заметки. Не пришлось даже переупорядочивать правила, чтобы обеспечить структурность программного кода (за исключением огромного массива таблиц).
Сообщение Добавлено: Ср ноя 30, 2016 20:16

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB