Что означает аббревиатура ynaq в nethack?

Aug 20 2020

Я новичок в Nethack, английский - не мой родной язык, и первый экран игры показывает:

NetHack, Авторские права 1985-2018
         Авторы: Stichting Mathematisch Centrum и М. Стивенсон.
         Версия 3.6.1 Unix, переработанная 16 сентября, 16:35:42 2018.
         Подробнее см. Лицензию.


Должен ли я выбрать для вас расу, роль, пол и мировоззрение персонажа? [ynaq]

Глядя на каждую букву в списке вариантов, я предполагаю, что они означают:

  • у: да
  • n: нет
  • а: неизвестно
  • q: выйти или выйти

Что делает вариант «а»?

Ответы

26 aphid Aug 20 2020 at 21:11

Выбор aозначает, что для этого выбора не допускается возврат.

Объяснение можно найти в коде игры . Например, в строках с 544 по 548/win/tty/wintty.c (версия Windows, меню консоли) указано:

    /* this prompt string ends in "[ynaq]?":
       y - game picks role,&c then asks player to confirm;
       n - player manually chooses via menu selections;
       a - like 'y', but skips confirmation and starts game;
       q - quit
     */

Таким образом, кажется, что выбор aопции аналогичен ее yвыбору (рандомизирует вашу роль), но не позволяет вам подтвердить или отменить, если у вас есть комбинация, которую вы не хотите играть, вместо этого она немедленно запустит игру.

Посмотрим немного дальше на строку 950 :

getconfirmation = (picksomething && pick4u != 'a' && !flags.randomall);

Логическое значение getconfirmationвсегда ложно, если pick4u(содержащее выбор игрока) установлено в a. Таким образом, программа не будет запускать код, запрашивающий подтверждение, вместо этого выйдет из функции и, предположительно, перейдет к настройке игры.

18 C26 Aug 20 2020 at 20:07

Трудно найти информацию по этому поводу, и я сам часто задавался этим вопросом, но, похоже, это означает «все». Даже в Nethack Wiki нет определения «ynaq».

В случае накопления предметов:

  • При вводе yэтот элемент выбирается и отображается следующий.
  • При вводе nотображается следующий элемент.
  • При вводе aвыбирается этот элемент и все остальные элементы названных типов. Программа не позволит игроку брать слишком тяжелые предметы.
  • При вводе qкоманда прерывается.

В случае запуска новой игры он сделает за вас все соответствующие выборы, чтобы игра могла начаться всерьез.

Обратите внимание, что при нажатии qваш персонаж будет удален . Лучше вместо этого сохранить, используя Shift+ S.

Использованная литература:

https://thekill08.wordpress.com/2008/03/15/hack-and-nethack-the-software-distillery/ ftp://ftp.cuhk.edu.hk/pub/oldies/apple2/unsorted/Hack.txt