Tags give the ability to mark specific points in history as being important
  • v6(145)   ВЕРСИЯ 6(145) protoparser.js Добавлено - команда «локации». Выводит список посещенных локаций и находившихся в них объектов, которые были осмотрены; - свойство game.noVisitedMsg. Сообщение, об отсутствии посещенных локаций; - объект visitedLocs. Свойства - имена объектов посещенных локаций (кроме тех, у которых отсутствует свойство head), значение - массив имен объектов в соответствующей локации у которых свойство examined не равно undefined; - свойство game.f9Key: команда, выполняемая при нажатии на F9 (значение по-умолчанию «локации»); - команда «натереть» (функция rub); - команда «отрезать» (функция cut); - команда «привязать» (функция tie); - команда «развязать» (функция untie); - команда «зажечь» (функция burn); - автоопределение рода объекта (свойство gend) по его имени; - команда «поклониться» (функция bow); - появился простой механизм для вывода статичных сообщений, не требующий написания (переопределения) функции: объекту game может быть назначено свойство с именем требуемой функции, а в качестве значения задан текст сообщения; - парсер может распознавать не полностью введенные существительные (коммит b6873050f349e91e06f95e9d3b4a9a5465d69953, версия 5); - свойство game.wait: сообщение, выводимое при вызове команды «ждать»; - свойство game.jump: сообщение, выводимое при вызове команды «прыгать»; - свойство game.sleep: сообщение, выводимое при вызове команды «спать»; - свойство game.listen: сообщение, выводимое при вызове команды «слушать»; - свойство game.smell: сообщение, выводимое при вызове команды «нюхать»; - свойство game.sing: сообщение, выводимое при вызове команды «петь»; Изменено - функция attack. Сообщение по-умолчанию: 'Не стоит пытаться verb noun.'; - функция screw. Сообщение по-умолчанию: 'Не стоит пытаться verb noun.'; - функция unscrew. Сообщение по-умолчанию, 'Noun ни к чему не прикручен.' - обновлена встроенная справка (свойство game.help); - свойство game.wakeMsg переименовано в game.wake; - свойство game.thinkMsg переименовано в game.think; - свойство game.kissMsg переименовано в game.kiss; изменен текст сообщения на 'Вы сдерживаете свой порыв.'; - функция jumpOver. Выводит сообщение 'Не стоит пытаться verb noun'; - свойство game.helpMsg переименовано в game.help; - свойство game.adviceMsg переименовано в game.advice; - свойство game.score переименовано game.points; - функция reward: стилистические изменения выводимого сообщения; - свойство game.log переименовано game.logRecord; - в функции about обновлен номер версии Удалено - свойство game.jumpOverMsg Демонстрационная игра «Фантазия» (story.js) - изменено значение свойства nam[0] объекта player: «сам» заменено на «вы»; - у всех объектов типа thing (кроме gate) убрано свойство gend; - обновлен номер версии tests.js - обновлен список команд для тестирования. Шаблон story.js - изменено значение свойства nam[0] объекта player: «сам» заменено на «вы» Руководство Общее - изменено значение свойства nam[0] объекта player: «сам» заменено на «вы» во всех примерах; - во всех примерах у всех объектов типа thing (кроме gate) убрано свойство gend; - во всех упоминаниях свойство game.score заменено на game.points; - обновлен номер версии движка, руководства и демонстрационной игры «Фантазия». 1. Преамбула - дополнен раздел «Основные особенности и возможности protoparser.js». 4.1 Стандартные сообщения системы - добавлена информация об использовании объекта game как альтернативе переопределения (создания) функции. 6.3 Свойство head - добавлена информация о команде ЛОКАЦИИ, объекте visitedLocs, использовании объекта room для вывода произвольного текста. 7.1 Свойство gend - добавлена таблица с правилом определения рода и числа объекта для протопарсера. 8. Обработка команд - в цепочку проверок добавлен п.3; - скорректирован п.8. 10. Объект globalVerbs - добавлен альтернативный вариант определения поведения команды 'спать' (sleep как свойство объекта game). 18. Создание новых и изменение параметров стандартных команд. Виртуальные функции - глава «Создание новых и изменение параметров стандартных команд» переименована в «Создание новых и изменение параметров стандартных команд. Виртуальные функции»; добавлено уточнение, касающееся возможности обойтись без создания функции для вывода статичного сообщения; добавлено описание «виртуальных» функций. 19. Сниппеты - добавлена глава. 19.1 Все или ничего? - добавлен раздел. Приложение 1 - добавлено описание функции places; - добавлено описание функции rub; - добавлено описание функции cut; - добавлено описание функции tie; - добавлено описание функции untie; - добавлено описание функции burn; - добавлено описание функции gendDef; - изменено описание действия у функции screw; - изменено описание действия у функции attack; - изменено описание функции unscrew, ее аргументов и действия; - добавлено описание функции bow; - изменен алгоритм функции jumpOver; - название колонки «Имя метода-перехватчика / имя свойства в объекте gameCommands» заменено на «Имя метода-перехватчика / имя свойства в объектах gameCommands и game»; - изменено описание функции advice; добавлено указание на то, что функция является виртуальной; - изменено описание функции help; добавлено указание на то, что функция является виртуальной; - изменено описание функции kiss; добавлено указание на то, что функция является виртуальной; - изменено описание функции think; добавлено указание на то, что функция является виртуальной; - изменено описание функции wake; добавлено указание на то, что функция является виртуальной; - изменено описание функции listen; добавлено указание на то, что функция является виртуальной; - изменено описание функции sing; добавлено указание на то, что функция является виртуальной; - изменено описание функции sleep; добавлено указание на то, что функция является виртуальной; - изменено описание функции smell; добавлено указание на то, что функция является виртуальной; - изменено описание функции wait; добавлено указание на то, что функция является виртуальной; - изменено описание функции jump; добавлено указание на то, что функция является виртуальной; - изменено описание функции about. Приложение 2 - добавлено описание свойства game.noVisitedMsg; - добавлено описание свойства game.f9Key; - имя свойства game.thinkMsg изменено на game.think; - имя свойства game.kissMsg изменено на game.kiss; изменено значение свойства; - убрано свойство game.jumpOverMsg; - имя свойства game.helpMsg изменено на game.help; изменено значение свойства; - имя свойства game.adviceMsg изменено на game.advice; - имя свойства game.wakeMsg изменено на game.wake; - добавлено описание свойства game.listen; - добавлено описание свойства game.sing; - добавлено описание свойства game.sleep; - добавлено описание свойства game.smell; - добавлено описание свойства game.wait; - добавлено описание свойства game.jump; - имя свойства game.score заменено на game.points; - изменено описание свойства game.reward; - имя свойства game.log заменено на game.logRecord. Примечание 6 - добавлено уточнение, касающееся «виртуальных» функций. style.css - убран скроллбар; - сделано выравнивание по-ширине. readme.md - дополнен раздел «Основные особенности и возможности protoparser.js»; - исправлен путь к Приложению 1 в ЧАВО; - стилистические правки.
  • v5(127)   ВЕРСИЯ 5(127) protoparser.js Добавлено - функция advice (вызывающие команды: совет, спойлер, подсказка). Позволяет добавлять в игру подсказки и советы; - свойство game.adviceMsg: стандартное сообщение, выдаваемое при вызове функции advice; - свойство game.f7Key: команда, выполняемая при нажатии на F7 (значение по-умолчанию «совет»); - свойство game.helpMsg: игровая справка; - игровая справка дополнена новыми командами; - свойство hiddenPossession объектов типа thing. Если значение свойства равно true объект не отображается в инвентаре - функция think (команды "думать", "подумать", "задуматься", "размышлять"): выводит значение game.thinkMsg - свойство game.thinkMsg: стандартное сообщение, выдаваемое при вызове функции think; - функция wake (команды "проснуться", "пробудиться"): выводит значение game.wakeMsg - свойство game.wakeMsg: стандартное сообщение, выдаваемое при вызове функции wake; - свойство hidden у объектов типа thing и player. Объект со значением свойства true не выводится в описании локации; - свойство sceneDesc объектов типа thing и player: значение свойства добавляется к описанию локации в которой находится объект; - функция log (команды 'лог', 'транскрипт'): выводит доступный для копирования лог игры в отдельном окне браузера; - свойство game.f8Key: команда, выполняемая при нажатии на F8 (значение по-умолчанию «лог»); - функция jumpOver (команда "перепрыгнуть"): выводит значение game.jumpOverMsg - свойство game.jumpOverMsg: стандартное сообщение, выдаваемое при вызове функции jumpOver; - функция kiss (команды "поцеловать", "целовать", "расцеловать"): выводит значение game.kissMsg - свойство game.kissMsg: стандартное сообщение, выдаваемое при вызове функции kiss; - объект gameCommands, содержащий параметры команд; - у авторов появилась возможность добавлять новые команды и изменять параметры существующих; - свойство game.log. Содержит лог игры; Изменено - функция help выводит значение game.helpMsg; - свойство disp объектов типа thing и player больше не используется. По-умолчанию, все объекты выводятся в описании локации; - список объектов, находящихся в локации выводится отдельным абзацем; - обновлена внутриигровая справка; - добавлен перевод строки перед заголовком локации; - изменены стандартные глаголы команд: в команду 'show' добавлен глагол 'демонстрировать'; в команду 'up' добавлен глагол 'наверх'; из команды attack исключены глаголы 'взломать', 'выломать', 'отломить', 'разбить', 'вышибить', 'выбить'; Исправлено - объект, имена которого в свойстве nam начинались с заглавных букв не распознавался при вводе его имени строчными буквами Демонстрационная игра «Фантазия» - из всех объектов убрано свойство disp; - свойство hidden: true добавлено в объекты: player, stairs, wall, armour, door, gate, redBox, boat, objTree, oldman; - в объект seed добавлено свойство sceneDesc; - убраны кавычки из названия игры (свойство game.title); - убраны переносы строк в объекте hall и свойстве onIntro - в метод onIntro добавлена инструкция, добавляющая в команду take новые глаголы-синонимы; - в метод onIntro добавлена инструкция, добавляющая в объект gameCommands свойство sneeze; - добавлена функция sneeze; tests.js для игры «Фантазия» - убрана лишняя команда, из-за который скрипт автотестирования не мог пройти игру Шаблон story.js - в объект player добавлено свойство hidden: true Руководство - из всех разделов убрано упоминание свойства disp - свойство hidden: true добавлено в примерах в объекты: player, stairs, wall, armour, door, gate, redBox, boat, objTree, oldman; - во всех примерах в объект seed добавлено свойство sceneDesc; - во всех примерах из названия игры (свойство game.title) убраны кавычки - во всех примерах в объекте hall и свойстве onIntro убраны переносы строк 1. Преамбула - добавлена информация о возможности создавать новые команды и менять параметры стандартных команд 4.3 Горячие клавиши - добавлена рекомендация для автора 4.4 История команд - добавлено описание работы клавиш "вверх"-"вниз" 5.4 Свойство hidden - добавлен раздел 7.2 Свойство disp - убран раздел 7.10 Свойство hiddenPossession - добавлен раздел 7.11 Свойство sceneDesc - добавлен раздел 9. Методы объектов - пример с косточкой перенесен в раздел 7.11 Свойство sceneDesc 18. Создание новых и изменение параметров стандартных команд - добавлена глава Приложение 1 - изменено описание всех игровых и системных функций; - добавлено описание функции advice; - добавлен столбец "Тип команды (функции)"; - добавлено описание функции think; - добавлено описание функции wake; - добавлено описание функции log; - добавлено описание функции jumpOver; - добавлено описание функции kiss; - уточнено описание функции getObjByKV; - изменено название колонки "Имя метода-перехватчика" на "Имя метода-перехватчика / имя свойства в объекте gameCommands"; Приложение 2 - стилистические изменения; - добавлено описание свойства game.adviceMsg; - уточнено определение свойства game.commandHistory; - уточнено определение свойства game.commandHistoryLength; - уточнено определение свойства game.info; - уточнено определение свойства game.turn; - добавлено описание свойства game.helpMsg; - добавлено описание свойства hiddenPossession объекта типа thing; - добавлено описание свойства game.thinkMsg; - добавлено описание свойства game.wakeMsg; - убрано описание свойства disp; - добавлено описание свойства hidden; - добавлено описание свойства game.f7Key; - добавлено описание свойства game.f8Key; - добавлено описание свойства game.jumpOver; - добавлено описание свойства game.kiss; - добавлено описание свойства game.log; Приложение 3 - в метод onIntro добавлена инструкция, добавляющая в команду take новые глаголы-синонимы; - в метод onIntro добавлена инструкция, добавляющая в объект gameCommands свойство sneeze; - добавлена функция sneeze; readme.md - в разделе ЧАВО добавлена информация по сохранению лога; - добавлена информация о возможности создавать новые команды и менять параметры стандартных команд - изменен путь к руководству - орфография
  • v4(114)   ВЕРСИЯ 4(114) protoparser.js Добавлено - возможность установления начального значения счета (свойство game.score); - возможность установления начального значения хода (свойство game.turn); - свойство game.license для указания лицензии; - свойство game.year для указания года публикации; - свойство game ageRating для указания возрастных ограничений; - свойство game.commandHistory. Хранит историю введеных пользователем команд; - свойство game.commandHistoryLength. Содержит значение количества команд, хранимых в истории команд; - свойство game.commandHistoryIsEmptyMsg. Содержит сообщение о том, что история команд пуста; - свойство game.addKey. Содержит команду, выполняемую при нажатии на Numpad + (значение по-умолчанию: «повторить»); - функция repeat (команда «повторить»). Выполняет последнюю сохраненную команду в истории команд; - функция history (команда «история»). Выводит список команд, сохраненных в истории команд; - свойство game.f6Key. Содержит команду, выполняемую при нажатии на F6 (значение по-умолчанию «история»); - вызов команды из истории команд с помощью клавиш "стрелка вверх", "стрелка вниз"; - свойство game.commandHistoryOffMsg. Содержит сообщение, которое выводится при вызове функции history в случае, когда game.commandLength равно нулю - свойство game.commandHistoryIndex: содержит индекс выбранной команды из истории команд; - свойство head объектов типа room: содержит название локации Изменено - если автор не указал данные о названии игры, авторе, лицензии, версии, годе публикации, возрастных ограничениях или не написал вступление соответствующая информация не отображается при загрузке; - функции choiceHandler передается аргумент verb при вызове команды "осмотреть" [изменена функция parser]; - изменено свойство moved: вместо true/false оно содержит число перемещений предмета (когда предмет перемещался с помощью функции move); - свойство intro объекта game переименовано в info; - обновлена игровая справка Демонстрационная игра «Фантазия» Изменено - свойство intro объекта game переименовано в info; - форматирование Добавлено - всем объектам типа room добавлено свойство head, содержащее название соответствующей локации - добавлена информация о годе публикации и лицензии Шаблон story.js - свойство game.intro переименовано в game.info Руководство - во всех примерах свойство intro объекта game заменено на info; - всем объектам типа room добавлено свойство head, содержащее название соответствующей локации 1. Преамбула - в «особенности» добавлена информация об история команд 4. Объект game - уточнена информация об объекте game; - в пример добавлены свойства game.year и game.license 4.4 История команд - добавлен раздел 6.3 Свойство head - добавлен раздел 7.9 Свойство moved - скорректировано описание свойства moved в связи с тем, что свойство содержит численное значение; 8. Обработка команд - изменено описание процедуры вывода описания стартовой локации - в цепочку проверок добавлен п.2, касающийся добавления команд в массив game.commandHistory; 9. Методы объектов - скорректировано описание свойства moved в связи с тем, что свойство содержит численное значение; 12.3 Изменение локаций - скорректировано описание свойства moved в связи с тем, что свойство содержит численное значение; 12.8 Игровой счет - добавлена информация о возможности установления начального счета и хода; Приложение 1 - в описании функции inventory убран экранирующий символ перед в названии клавиши Numpad / для корректного отображения на gitlab; - изменено описание функции move; - изменено описание функции help; - добавлено описание функции repeat; - добавлено описание функции history; - изменено описание функции move; - изменено описание функции walk Приложение 2 - добавлено описание свойства ageRating; - добавлено описание свойства license; - добавлено описание свойства year; - изменено описание свойства moved; - добавлено описание свойства commandHistoryLength; - добавлено описание свойства commandHistory; - добавлено описание свойства commandHistoryIsEmptyMsg; - добавлено описание свойства addKey; - добавлено описание свойства f6Key; - добавлено описание свойства commandHistoryOffMsg; - добавлено описание свойства commandHistoryIndex; - добавлено описание свойства head; - изменено описание свойства game.turn Приложение 3 - в объект game добавлены свойства year и license
  • v3(104)   ВЕРСИЯ 3(104) protoparser.js Добавления: - функция-обработчик передает вызываемой функции дополнительный аргумент noun; - новое свойство cursor объекта game определяет символьное представление курсора; - новое свойство commandTemplate объекта game определяет начальное содержимое строки ввода; - новое свойство prompt объекта game определяет символьное представление приглашения командной строки; - новое свойство noWayMsg объекта game. Содержит сообщение, которое выводится при попытке двигаться в направлении для которого отсутствует выход из данной локации; - новое свойство placedHereMsg объекта game. Содержит сообщение о том, что в локации присутствуют предметы за которым следует перечисление соответствующих предметов (генерируется движком автоматически); - новое свойство playerHasNothingMsg объекта game. Содержит сообщение о том, что в инвентаре игрока нет предметов; - новое свойство playerHasMsg объекта game. Содержит сообщение о том, что в инвентаре игрока присутствуют предметы за которым следует перечисление соответствующих предметов (генерируется движком автоматически); - новое свойство fireCursorInterval задает частоту мигания курсора; - новое свойство shouldBlinkCursor устанавливает режим мигания курсора; - новые свойства: num0Key, num1Key, num2Key, num3Key, num4Key, num5Key, num6Key, num7Key, num8Key, num9Key, decimalPointKey, devideKey, multiplyKey, f1Key, f2Key позволяют назначить команду на клавишу (т.н. «горячие клавиши»); Улучшения/изменения: - микрорефакторинг функции-обработчика команд choiceHandler; - изменена функция parser: при обработке строки ввода используется длина значения game.prompt; - изменена инструкция проверки наличия в game пользовательских свойств: если значение пользовательского свойства равно пустому значению, то пользовательское свойство НЕ ЗАМЕНЯЕТСЯ стандартным; - метод onLoad объекта events переименован в onIntro; - изменена функция choiceHandler, ее поведение стало более логичным: если указаного в команде предмета для действия нет в локации или инвентаре, то вызов метода events.afterAll не происходит и game.turn не увеличивается (из-за этого в игре "Фантазия" при попытке показать старику несуществующий объект игра останавливалась); - улучшена логика обработки команд. Счетчик ходов перенесен в начало блока проверок и вызывается сразу после того, как команда была принята интерпретатором как валидная; - изменена функция init: инструкция уменьшения значения game.turn вызывается перед вызовом функции output. Это позволяет получить точное значение текущего хода при использовании значения game.turn в game.prompt при старте игры; - объект defSysMsg переименован в defSysVal; - объект terminal создается после того как инициализируются стандартные (системные) свойства объекта game; - изменена функция tests: при вводе команды используется значение game.prompt в качестве значения приглашения командной строки. Исправления: - исправлен баг, когда использование команд 'сохранить', 'загрузить' увеличивало число ходов; - исправлена ситуация, когда при попытке показать старику несуществующий объект игра останавливалась terminal.js Добавления: - значение game.prompt выводится в командной строке; - изменена функция inputField.onkeydown. Добавлено отслеживание нажатия «горячих клавиш» и выполнение назначенных им команд; - в блок TerminalConstructor добавлен объект keyBindings, содержащий соответствия кодов клавиш названиям свойств, содержащих команды для горячих клавиш; - в объект keyBindings добавлены новые свойства: 111, 106, 112, 113; - в hotkeys handler добавлено обновление значения prompt. Без этого при использовании горячих клавиш, приглашение командной строки не обновлялось (в игре Фантазия не обновлялось время); Улучшения/изменения: - символьное представление курсора определяется значением game.cursor; - начальное содержимое строки ввода определяется значением game.commandTemplate; - символьное представление указателя введенной команды определяется значением game.prompt; - изменена функция onkeyup в связи с использованием game.prompt; - изменена функция fireCursorInterval: частота мигания курсора привязана к значению game.fireCursorInterval, а режим мигания - к game.shouldBlinkCursor; - блок инструкций скроллинга к концу страницы перенесен из функции inputField.onkeyup в функцию inputField.onkeydown для нормального скроллинга при использовании горячих клавиш; Шаблон story.js Улучшения/изменения: - метод onLoad переименован в onIntro. Демонстрационная игра «Фантазия» Добавления: - добавлен объект watch; в метод afterAll добавлена проверка надеты ли часы. Если часы надеты, то в комадной строке выводится текущее время; Улучшения/изменения: - метод onLoad объекта events переименован в onIntro; test.js (папка example) Добавления: - добавлены дополнительные команды для тестирования. Руководство - метод onLoad объекта events переименован в onIntro; - объект defSysMsg переименован в defSysVal; - изменена версия протопарсера на 3(104); - номер версии игры изменен на 3.0. 1. «Преамбула»: - добавлена ссылка на раздел issue на странице проекта; - в качестве одной из особенностей протопарсера добавлена возможность назначать на «горячие клавиши» свои команды. 4.1 «Стандартные сообщения системы» - «Стандартные сообщения системы» переименован в «Стандартные значения системы»: - добавлен пример со свойством game.cursor; - дополнен примером использования пустого значения свойства объекта; - дополнен советом по использованию стандартных сообщений системы; - 4.1 переименован в «Стандартные сообщения системы» и отредактирован. 4.2 «Интерфейс командной строки»: - добавлен раздел 4.2 «Интерфейс командной строки»; - добавлена ссылка на 12.7 «Строка состояния». 4.3 «Горячие клавиши»: - добавлен раздел 4.3 «Горячие клавиши». 8. «Обработка команд»: - дополнена информация по обработке существительного в команде; - удалена вставка про существительное (дублирование следующего абзаца); - изменена цепочка проверок в связи с переносом счетчика команд в начало цепочки; - добавлены условия выполнения цепочки проверок; 9. «Методы объектов»: - уточненено описание передаваемых функции-обработчику аргументов. 11. «Объект events»: - уточнены передаваемые аргументы при вызове методов beforeAll и afterAll. 12.7 «Строка состояния» - добавлен раздел 12.7 «Строка состояния». 12.8 «Игровой счет»: - 12.7 «Игровой счет» переименован в 12.8 «Игровой счет» 12.9 «Завершение игры»: - 12.8 «Завершение игры» переименован в 12.9 «Завершение игры» Приложение 1: - изменено описание аргументов у функций saveGame и loadGame; - скорректировано описание функции walk; - скорректировано описание функции inventory; - добавлена колонка «Горячая клавиша по-умолчанию»; - изменены обозначения горячих клавиш. Добавлены названия горячих клавиш для команд inventory, about, help, score; Приложение 2: - добавлено описание свойства game.cursor; - добавлено описание свойства game.commandTemplate; - добавлено описание свойства game.prompt; - добавлено описание свойства noWayMsg объекта game; - добавлено описание свойства placedHereMsg объекта game; - добавлено описание свойства playerHasNothingMsg объекта game; - добавлено описание свойства playerHasMsg объекта game; - свойство commandPointer объекта game переименовано в prompt. Изменено описание свойства prompt; - добавлено описание свойства fireCursorInterval; - добавлено описание свойства shouldBlinkCursor; - добавлена колонка «Значение по-умолчанию»; - добавлено описание свойств: num0Key, num1Key, num2Key, num3Key, num4Key, num5Key, num6Key, num7Key, num8Key, num9Key, decimalPointKey; - добавлены свойства devideKey, multiplyKey, f1Key, f2Key; Приложение 3: - добавлен объект watch; в метод afterAll добавлена проверка надеты ли часы. Если часы надеты, то в комадной строке выводится текущее время. readme - в раздел «Актуальная версия» добавлена ссылка на changelog.txt; - исправлен путь к папке terminaljs; - в качестве одной из особенностей протопарсера добавлена возможность назначать на «горячие клавиши» свои команды; - изменен путь к руководству. Прочее - папка terminal переименована в terminaljs; - в файлах index.html из корневой папки и папки example исправлен путь к папке terminaljs.
  • v2(93)   https://gitlab.com/johnbrown90210/protoparser.js/blob/master/CHANGELOG.txt
  • v1(81)   Первый релиз на Парсерфест-2018.
    8d100355 · Update LICENSE ·