/hydrofin

Клиент для запуска текстовых игры системы Hydra

Primary LanguageCApache License 2.0Apache-2.0

hydrofin

Copyright (c) 2002 unreal79

Hydrofin -- это клиент для Hydra (системы разработки игр жанра Interactive Fiction, написанной на языке Python). Интересующимся просьба обратиться непосредственно к разработчику Hydra -- WildWizard (WildWizard [at] SoftHome.net).

screenshot1 screenshot2

Hydrofin может работать только в операционных системах Windows 9x, Windows 2000, Windows XP и более поздних. На данный момент, Hydrofin был мною протестирован на системах Windows 98, Windows 2000, Windows XP. Я бы оценил любые сообщения касающиеся работоспособности Hydrofin под Windows 95 и Windows NT 4.0 .

Hydrofin работает в консольном режиме. Если вы желаете чтобы Hydrofin находился в полноэкранном режиме (в отличие от стандартного оконного режима предлагаемого Windows), одновременно нажмите клавиши Alt и Enter.

Запуск игры в Hydrofin возможен двумя способами:

  1. Из командной строки: Наберите:

Hydrofin.exe foo

, где "foo" -- игра, которую вы хотите запустить. Игра "foo" должна находится в поддиректории "games" либо как директория "foo", либо как файл "foo.py".

  1. С помощью "Сундучка Игр": Запустите программу Hydrofin.exe, и с помощью появившегося диалога "Сундучка Игр" добавьте требуемую игру в "Сундучок" и запустите ее.

Для нормальной работы Hydrofin необходимы следующие файлы:

  • Python20.dll -- Python -- источник всего зла :-) ,
  • hydrofinstart.py -- осуществляет связь Hydrofin и Hydra,
  • hydrofin.ini -- файл настроек Hydrofin. В случае отсутствия будет создан, используя стандартные настройки Hydrofin,
  • директория "Hydra" -- система разработки игр Hydra (содержит несколько файлов с расширением .py),
  • директория "Lib" -- стандартные библиотеки Python,
  • директория "games" -- стандартное месторасположение игр на Hydra,
  • директория "save" -- содержит все файлы сохранения игр.

В случае ошибки в игре или в Hydra, вся информация, сообщаемая при этом Python, выводится в файл "GameSession.log". Рекомендуется периодически удалять его т.к. он может достигнуть значительных размеров.

Список специальных клавиш обрабатываемых Hydrofin:

  • F1 помощь Hydrofin
  • F9 настройка цветов фона и букв
  • Alt-H помощь Hydrofin
  • Alt-T начать/прекратить стенографировать
  • Alt-X, Ctrl-C выйти из игры

При вводе команды доступны следующий функции:

  1. Для исправления уже набранной команды, перемещайте курсор при помощи клавиш "Стрелка влево"/"Стрелка вправо" (ArrowLeft/ArrowRight)
  2. История команд: Нажмите клавушу "Стрелка вверх" (Arrow Up). Чтобы вернуться к следуюещей команде в истории команд нажмите "Стрелка вниз" (Arrow Down),
  3. Для просмотра предыдущих экранов (экранов, содержимое которых уже не видно из-за поступления нового текста) используйте клавиши PageUp и PageDown. Для "перемотки" назад/вперед по пол-экрана используйте клавиши Shift+PageUp/Shift+PageDown. Для "перемотки" по одной строке вверх/вниз используйте клавиши Shift+ArrowUp и Shift+ArrowDown,
  4. Чтобы "прыгать" от слова к слову в командной сроке, используйте Ctrl+ArrowLeft и Ctrl+ArrowRight,
  5. Перейти в начало строки -- клавиша Home,
  6. Перейти в конец строки -- клавиша End,
  7. Забой предыдущего/последующего символа: клавиши Backspace/Del,
  8. Очистка всей строки -- клавиша Esc.

Внимание! При запуске Hydrofin на компьютерах с системой Windows 98 (и, наверное, Windows 95) проявляет себя ошибка при наборе буквы "р" (кириллица) -- вместо нее функция ReadConsoleInput() (и getch() ) выдает букву "h". В связи с этим Hydrofin принудительно заменяет появление буквы "h" на "р". (Ввод заглавных букв ("Р"(кириллица) и "H"(латиница)) происходит нормально.) Если вы знаете какой либо способ избежать этого, используя Microsoft Visual C++ 6.0, пожалуйста, напишите мне.

Что нового в Hydrofin

Что нового:

  • (+) добавление функциональности
  • (!) изменение с технической стороны
  • (*) ликвидация недочета

Versions

  • (*) Происходит перевод всех заглавных введенных букв в нижний регистр в "hydrofinstart.py"
  • (*) Функция ScrIn() теперь работает правильно с выводом строки приглашения (">")
  • (+) В "Сундучке Игр" появилась возможность выделения нескольких элементов одновременно
  • (*) Значительно расширен файл "README.txt"

version 0.9a5 (10.09.2002)

  • (*) Исправлена ошибка с возвращением размера консоли под Win9x при выходе (завершении игры)
  • (+) Теперь все ошибки Python выводятся в файл "GameSession.log"
  • (+) Наконец-то при вводе работает режим замены (клавиша Insert)
  • (+) Создан "Сундучок Игр"
  • (+) Теперь возможна настройка цветов фона, букв (клавиша F9)
  • (+) Теперь настройки Hydrofin сохраняются в файл "hydrofin.ini"
  • (+) Добавлены горячие клавиши (Alt-H)
  • (!) Перед выводом строка, переданная из Hydra, копируется, т.к. в процессе работы Hydrofin она модифицируется
  • (+) И много мелких (и не очень) исправлений

version 0.9a4 (24.05.2002)

  • (+) Теперь, при редактировании командной строки, можно перескакивать от слова к слову, используя клавиши Ctrl+ArrowLeft/ArrowRight
  • (*) Улучшен метод завершения работы (функция ExitGame())
  • (+) Добавлена возможность записи стенограммы (как выводимого игрой текста, так и вводимого игроком) игры в файл
  • (+) Добавлена возможность отображения статусной линии (верхняя часть экрана), состоящей из нескольких строк

version 0.9a3 (17.05.2002)

  • (*) Учтен случай, когда выводимое игрой слово не вмещается на одну строку
  • (*) Исправлена ошибка, если выводимая функцией ScrOut() строка не завершалась выводом новой линии
  • (!) Добавлены тэги, которые на данном этапе игнорируются (не выводятся на экран): <hr>, <p aligh="center">. А эти обрабатываются: <p>, </p>, &nbsp;
  • (!) Все поступающие для вывода знаки табуляции пропускаются
  • (*) Исправлено исчезновение курсора при нажатии PageUp, если ни каких предыдущих экранов не имелось
  • (+) Теперь, после завершения работы, Hydrafin возвращает размеры окна консоли в начальное значение
  • (+) Обработка события нажатия клавиш Ctrl+Break, Ctrl+C

version 0.9a2 (24.04.2002)

  • (+) Нажатие на Esc обнуляет всю вводимую игроком строку
  • (+) Нажатие на Ctrl+Del при вводе стирает все символы справа от курсора, нажатие на Ctrl+Backspace при вводе стирает все символы слева от курсора.
  • (!) Теперь в ParseOutputString() производится замена '\r' (CR) на '\n' (LF)
  • (!) Теперь в качестве параметра в StrIn() нужно передавать определенную строку, а не динамическую (т.е. нельзя использовать ScrIn("\r>") из-за того, что эта строка может быть изменена (см. пункт выше) )
  • (+) Добавлена история команд (клавиши UpArrow и DownArrow)
  • (+) Добавлена возможность просмотра предыдущих экранов (клавиши Shift+ArrowUp/ArrowDown и [Shift+]PageUp/PageDown
  • (!) Все функции работы с вводом вынесены в отдельный файл "Hydrofin_Input.cpp"

version 0.9a1 (22.03.2002) Первая версия.