ZIL: различия между версиями
Перейти к навигации
Перейти к поиску
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
Именно на нём писались все игры [[Infocom]] для [[Z-машина|Z-машины]]. Язык [[Inform]], на котором пишется большинство игр сейчас, появился только в 1994-м. | Именно на нём писались все игры [[Infocom]] для [[Z-машина|Z-машины]]. Язык [[Inform]], на котором пишется большинство игр сейчас, появился только в 1994-м. | ||
− | + | == Пример кода на ZIL == | |
Отрывок. Полный пример [https://bitbucket.org/jmcgrew/zilf/src/6441b5c776a3/Examples/?at=default см. на Bitbucket.] | Отрывок. Полный пример [https://bitbucket.org/jmcgrew/zilf/src/6441b5c776a3/Examples/?at=default см. на Bitbucket.] | ||
Строка 33: | Строка 33: | ||
(FDESC "A small brass hook is on the wall.") | (FDESC "A small brass hook is on the wall.") | ||
(FLAGS CONTBIT SURFACEBIT)> | (FLAGS CONTBIT SURFACEBIT)> | ||
− | + | ||
+ | == Необходимые инструменты == | ||
В настоящее время (2018 год) самый активный набор инструментов для работы с ZIL - это [https://bitbucket.org/jmcgrew/zilf/wiki/Home ZILF] от Jesse McGrew. Он состоит из: | В настоящее время (2018 год) самый активный набор инструментов для работы с ZIL - это [https://bitbucket.org/jmcgrew/zilf/wiki/Home ZILF] от Jesse McGrew. Он состоит из: | ||
Строка 42: | Строка 43: | ||
* Собственно библиотеки для текстовых приключений на английском, которая включает в себя парсер и базовую модель мира | * Собственно библиотеки для текстовых приключений на английском, которая включает в себя парсер и базовую модель мира | ||
* Примеров, тестов и документации | * Примеров, тестов и документации | ||
+ | |||
+ | == См. также == | ||
+ | * [[:Категория:Игры на ZIL|Игры на ZIL]] | ||
[[Категория:Глоссарий]] | [[Категория:Глоссарий]] | ||
+ | [[Категория:Парсерные платформы]] |
Текущая версия на 14:17, 5 декабря 2019
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
- Собственно библиотеки для текстовых приключений на английском, которая включает в себя парсер и базовую модель мира
- Примеров, тестов и документации