ZIL: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
Содержимое удалено Содержимое добавлено
Нет описания правки
поправлена ссылка
 
Строка 36: Строка 36:
== Необходимые инструменты ==
== Необходимые инструменты ==


В настоящее время (2018 год) самый активный набор инструментов для работы с ZIL - это [https://bitbucket.org/jmcgrew/zilf/wiki/Home ZILF] от Jesse McGrew. Он состоит из:
В настоящее время (2018 год) самый активный набор инструментов для работы с ZIL - это [https://zilf.io ZILF] от Jesse McGrew. Он состоит из:


* Компилятора ZILF, который компилирует код ZIL в ассемблерный код ZAP
* Компилятора ZILF, который компилирует код ZIL в ассемблерный код ZAP

Текущая версия от 18:26, 11 августа 2026

Lisp-подобный язык программирования, сокр. англ. Zork Implementation Language.

Именно на нём писались все игры Infocom для Z-машины. Язык Inform, на котором пишется большинство игр сейчас, появился только в 1994-м.

Пример кода на ZIL

Отрывок. Полный пример см. на Bitbucket.

<ROUTINE GO ()
 <CRLF> <CRLF>
 <TELL "Hurrying through the rainswept November night, you're glad to see the bright lights of the Opera House. It's surprising that there aren't more people about but, hey, what do you expect in a cheap demo game...?" CR CR>
 <INIT-STATUS-LINE>
 <V-VERSION> <CRLF>
 <SETG HERE ,FOYER>
 <MOVE ,PLAYER ,HERE>
 <V-LOOK>
 <MAIN-LOOP>>
<INSERT-FILE "parser">
<ROOM CLOAKROOM
 (DESC "Cloakroom")
 (IN ROOMS)
 (LDESC "The walls of this small room were clearly once lined with hooks,
though now only one remains. The exit is a door to the east.")
 (EAST TO FOYER)
 (FLAGS LIGHTBIT)>
<OBJECT HOOK
 (DESC "small brass hook")
 (IN CLOAKROOM)
 (SYNONYM HOOK PEG)
 (ADJECTIVE SMALL BRASS)
 (FDESC "A small brass hook is on the wall.")
 (FLAGS CONTBIT SURFACEBIT)>

Необходимые инструменты

В настоящее время (2018 год) самый активный набор инструментов для работы с ZIL - это ZILF от Jesse McGrew. Он состоит из:

  • Компилятора ZILF, который компилирует код ZIL в ассемблерный код ZAP
  • Ассемблера ZAPF, который собирает код ZAP в бинарный формат Z-машины
  • Дезасссемблера DeZapf
  • Собственно библиотеки для текстовых приключений на английском, которая включает в себя парсер и базовую модель мира
  • Примеров, тестов и документации

См. также