跳转到内容

NetHack/入门

来自维基教科书,开放世界中的开放书籍

NetHack 免费参考

教程

剧透

编辑此模板

本视觉教程将向您介绍NetHack。本章描述了入门按键和地牢探索。更高级的战斗将在战斗中进行。

NetHack 刚开始可能很难玩,因为

  • 需要学习很多按键
  • 图形使用 ASCII 字符绘制
  • 各种类型的物品都很陌生

NetHack 通过在 x11 和 Microsoft Windows 等环境中提供图形用户界面来简化这一过程。本教程将改为描述tty终端)端口。此端口仅使用 ASCII 字符,并在终端上运行,例如 Unix 或 DOS 控制台或 telnet 客户端。通过学习“tty”端口,可以在公共 telnet 服务器(如nethack.alt.org)上玩游戏。您还将开始识别每个怪物的 ASCII 字母(这对阅读达德利的地牢网络漫画很有用)。

本教程将介绍“tty”玩家的控制,作为一个示例玩家探索地牢的前两层。

配置 NetHack

[edit | edit source]

下面截图中使用的配置是

OPTIONS=!autopickup,autodig
OPTIONS=color,hilite_pet,lit_corridor,DECgraphics,boulder:8
OPTIONS=showexp,showscore,time,msg_window:f
OPTIONS=fruit:salad,catname:Morris,dogname:Fido
OPTIONS=race:elf,disclose:+i+a+v+g+c

尤其是,请注意“color”和“DECgraphics”的使用,它们可以增强图形。巨石将显示为8,这比`(巨石的默认显示方式)更容易识别。

这些选项存储在您的 Unix 计算机上的 ~/.nethackrc 文件中,或者存储在您的 Windows 计算机上的 defaults.nh 文件中。有关更多信息,请参见Nethack 手册页

启动 NetHack

[edit | edit source]

启动 NetHack 时,会发生以下两种情况之一

  • 保存的游戏会自动加载,或者
  • 系统会提示您创建新角色

这是一个新游戏。默认情况下,提示会让您选择种族、职业和性别。示例配置使用“race:elf”,因此默认种族为精灵

[y]让游戏随机选择,或按[n]使用菜单选择。(按[q]退出 NetHack。)选择角色后,游戏会介绍剧情

游戏现在会在--More--提示符处停止。此提示符让玩家有时间阅读一些文字,然后 NetHack 才会决定显示更多文字或返回地图。当您看到此提示符时,阅读(或跳过)文字,然后按空格键继续。

从剧情介绍继续后,游戏会首次显示地图。这是地牢第 1 层的地图

此屏幕有一些需要注意的地方

  • 在 NetHack 中,您和其他角色实际上就是字符。带光标的@就是您,玩家。
    • Thed是一只小狗宠物。d 被高亮显示,因为“hilite_pet”在配置中启用。
    • 您可能会以一只猫f或一匹马u开始。(请记住,“f”代表猫科动物,“u”代表独角兽。将马加入此游戏的人认为它们与独角兽足够相似,可以使用“u”。)
  • 大部分屏幕都是空白的。玩家尚未探索此地牢层的大部分区域。
    • 一个房间可见。我们可以看到整个房间,因为它是用点.照亮的,显示了整个房间。(此地牢包含许多被照亮的矩形房间!)
    • 因为我们启用了“DECgraphics”,墙壁看起来像一个方框,而不是连字符-和管道|。墙上包含关闭的门+和没有门的门道.。我们无法看到门道后面的情况,因为它没有被照亮。
  • 如果您开始自己的游戏,房间看起来会有所不同。这是因为 NetHack 每次都会随机生成地牢。示例中的房间不包含物品,但玩家东边有一个喷泉{

四处移动

[edit | edit source]
移动按键
y k u
h l
b j n

学习八个移动按键,以便我们能够移动@四处探索地牢。这些按键包括四个用于移动四个方向(上、下、左、右)的“vi”键,以及四个用于对角线移动的“对角线”键。

vi 键

[edit | edit source]

四个 vi 键[h][j][k][l]。这些按键源于“vi”编辑器。这段文字来自学习 vi:基本任务

我们可以使用[h][j][k][l]按键在地牢中移动我们的 NetHack@角色。注意:您的方向键可能被设置为可以工作(尤其是在 DOS 上),如果您愿意可以使用它们,但为了熟练掌握,您应该学习使用字母键。许多 NetHack 版本,尤其是在 Unix 上,没有正常工作的方向键。

  • [h]键向移动。
  • [j]键向移动。
  • [k]键向移动。
  • [l]键向移动。

如果您记不住这些,请记住[h]是最左边的,字母[j]在行下方,字母[k]在行上方,[l]键是最右边的。(如果您眯着眼睛看,J 也像一个指向下方的箭头。)

对角线键

[edit | edit source]

四个对角线键[y][u][b][n]。这些按键不是来自 vi 的。看看它们在键盘上的位置,看看它们是如何工作的。左上角的键“y”向上和向左移动,依此类推。

新手玩家可能更喜欢只使用 vi 键。在与怪物战斗和在对角线路径上快速移动时,对角线键是必需的。

数字键盘

[edit | edit source]

如果启用了“number_pad”选项,可以使用数字键盘进行移动。

探索地牢路径

[edit | edit source]

继续示例游戏,玩家开始在房间里四处移动并遇到一扇门

要打开门,按下o键输入打开命令。在提示符出现后,

In which direction?

因为这扇门在左边,按下h键输入左键打开门。

玩家现在使用hyk键沿着路径移动。玩家遇到了一些岔路口,但继续向西北方向移动。

在上面走廊的黑暗中,玩家只能向前看到一个方格,但玩家会记住所有发现的走廊和房间的位置。

玩家发现了一个第二间房间。请记住,每个地牢都是随机生成的,所以当你玩NetHack时,你不会在同一个地方找到这个房间。在示例玩家进入房间后,宠物狗也跟着玩家进入房间。

玩家打开另一扇门,一个第三个亮着灯的房间映入眼帘。进入房间后,玩家发现了一个!药水,这是这个玩家找到的第一件物品。

由于地牢是随机的,物品也是随机放置的。如果你幸运的话,你就可以在地牢的早期找到好的物品。

获取物品

[编辑 | 编辑源代码]

首先,我们只知道这里有一个药水。(因为“颜色”选项开启,药水看起来是红色的。)玩家可以通过走到药水的方格来发现它是什么物品。

在本例中,我们发现一个方格上有两个物品。

玩家按下[空格键]来关闭--更多--提示,然后拾取物品。要从地牢地板上拾取物品,请按下[,](逗号)。逗号看起来像是指向地面的。 (如果“自动拾取”选项开启,则玩家会直接拾取物品,无需按下逗号。)

通常,按下逗号会拾取物品。在本例中,NetHack希望知道是拾取一个物品还是两个物品。它会弹出一个菜单。

这是一个典型的菜单。我们可以在键盘上按下[a][b]键来选择菜单项。虽然有些菜单在选择一项后会消失,但这个菜单允许选择多项。因此,玩家再次按下[空格键]来关闭菜单。

关闭菜单后,我们拾取物品。

我们将药水和钱都加入了“背包”。背包(可以通过按下[i]键查看)是玩家携带的所有物品的列表。10枚金币被加入了“钱包”。注意底部行中的“$:10”;它显示了玩家拥有多少钱。文本“g - a puce potion”表示该药水放置在背包字母“g”处。当我们要使用或丢弃物品时,我们的药水将在NetHack菜单中以“g”显示。

一个“puce药水”有什么作用?这个玩家不知道。按下[q](喝下命令)然后按下[g](背包字母)来喝下我们的药水,可能会告诉我们答案,但这个玩家选择保留药水。

处理上锁的门

[编辑 | 编辑源代码]

接下来,玩家遇到了一扇上锁的门。很明显,只尝试打开门是行不通的。

游戏文档中提到了踢门命令^D,这意味着按住[Ctrl]键并按下[D]键。“D”代表门。这是否意味着我们可以踢门?

所以玩家按下^D键,然后按下[l]键来踢右边的门。砰!!!玩家一次又一次地踢门,最终成功了。

当需要穿过上锁的门才能继续探索地牢时,请记住使用^D命令来破坏门。(如果你使用的是“数字键盘”选项,你也可以使用k键来踢门。将来,你可能会学习到处理上锁门的其他方法。)

寻找秘密通道

[编辑 | 编辑源代码]

使用[l][n][j]键,玩家探索路径,但它结束了。玩家反复按下[s]键(搜索命令)以寻找继续前进的路径,但没有找到。所以玩家转身向上移动。

在某一点上,宠物狗菲多挡住了去路。消息“你把菲多挪开了。”意味着当你试图移动到宠物的方格时,宠物躲开了。

有时你可以在NetHack中听到“声音”。这并不涉及你的电脑扬声器;这只是一个玩家听到了一些东西的信息。

这条路径也结束了。玩家反复按下[s]键进行搜索。(警告:不要在NetHack中按住[s]键或任何键。在怪物攻击并杀死你的角色之前,你可能无法松开它。)我们找到了一扇门。

使用[o](打开命令)[h](左方向),玩家打开了门。一开始它很沉,但最终打开了

虽然在本例中,没有必要打开这扇门,但请记住,当找不到其他路径继续前进时,可以使用[s]键寻找这类门。

巨石的外观取决于“巨石”选项。默认情况下是`,但对于这个游戏来说,它被设置为8.

一个巨石挡住了玩家的路径。玩家可以使用[l]键将巨石向右推开。请注意,按下[l]键通常会使角色向右移动,因为巨石挡住了路径,所以玩家试图向右移动时会将巨石向右推开。

(玩家正在将巨石推入一条未知的路径。最好将其推入一条已经探索过的路径,这样玩家就知道巨石不会永久地挡住某些东西。)

以下是一个巨石的良好位置

注意,玩家现在可以通过按下[u](右上角对角移动)或[n](右下角对角移动)来绕过巨石。这是一种需要知道四个对角键(y、u、b、n)而不是只使用vi键(h、j、k、l)的情况。

盔甲、金币、宝石、光源

[编辑 | 编辑源代码]

现在,玩家遇到了另一条路径的尽头打开了另一扇秘密门(找到了宠物狗菲多),向下进入另一个房间发现了另一条路径的尽头,并发现了一个第三扇秘密门。打开门后,地图看起来像这样。

玩家走进去,看到两件物品。

The[表示盔甲。走到它旁边可以发现它是一副击剑手套。玩家按下[,](逗号)键拾取它。游戏分配了背包字母“h”。

The$表示金币。在本例中,玩家将41枚金币加入了钱包,总计“$:51”。

现在玩家走出房间,发现另一个房间。请注意,从房间外,只能看到部分亮着的房间。

房间的其他部分看不见,因为玩家的视角不对。当玩家走进去时,更多房间的景象就会显露出来。走进去后,会发现一个*表示宝石。

玩家拾取了两个紫宝石,然后离开了房间(找到了宠物狗菲多)。在向左、向上、向右和向下移动后,玩家又听到了声音。(“你听到了一位奈亚德的飞溅声。”)

继续前进,玩家向右移动。同样,玩家最初只能看到部分房间。

但当我们走进去时,会有一个惊喜……

识别屏幕上的角色

[编辑 | 编辑源代码]

这个玩家在屏幕上遇到了一个冒号:。通往第二层地牢的楼梯>是可见的,但我们该如何处理冒号呢?

我们现在对键盘上的两个键感兴趣。

  • 冒号键[:](在许多键盘上,按住[SHIFT]并按下[;]),看起来像一对眼睛,用于查看当前方格的内容。(不要将冒号键与屏幕上当前可见的冒号:混淆。)
  • 分号键[;]查看另一个方格。它看起来也像一对眼睛,只不过其中一只眼睛眯着眼看向更远处的物体。

由于冒号:不在我们玩家所在的方格上,我们需要使用分号键[;],而不是冒号键[:]

按下[;]会弹出一个“选择物品”提示。要选择物品,可以使用(h,j,k,l)和(y,u,b,n)键进行移动,就像平时一样,只是这样移动光标不会移动玩家@

以下是按下[;]然后按下[y]将光标移动到冒号后的结果

现在,将光标移到屏幕上的冒号:上,按下冒号键[:]查看该方格。(在“选择物品”模式下,可以使用一只眼睛[.]快速查看,或两只眼睛[:]进行更详细的查看,如果可以的话,包括阅读更多文本。)

我们了解到屏幕上的冒号:是“一只蜥蜴(蝾螈)”。

请注意--更多--提示,它出现是因为我们按下冒号键[:]请求更多信息(如果有的话)。按下[SPACE]将我们带到提示之外。然后我们阅读 NetHack 中关于蝾螈的“数据库”条目。

由于这是另一个--更多--提示,玩家完成阅读并按下[SPACE]

第一次战斗

[编辑 | 编辑源代码]

地牢中包含许多试图杀死玩家的怪物。怪物通常由字母A-Za-z表示,但也有一些其他的怪物,比如撇号'、分号;和冒号:,包括这只蝾螈。

有些怪物是和平的;NetHack不仅会在你用冒号键[:]查看它们时识别出它们的和平性,还会在你在近战中试图攻击它们时警告你。

然而,这只蝾螈显然并不和平。当示例玩家按下[k]向上移动时,蝾螈做出了攻击。

请注意生命值计,它显示“HP:12(14)”。这意味着玩家受到了伤害;从可能的 14 点生命值中,这位玩家只剩下 12 点。如果这个数字降至 0,我们的玩家就会死亡。

这位玩家有很多选择,包括一些显而易见的选项:

  • 与蝾螈战斗
  • 从蝾螈面前逃走

玩家尝试战斗。要在近战中与怪物战斗,只需按下移动到怪物所在的方格的键。由于怪物挡住了那个方格,NetHack 将该键解释为攻击怪物的指令。

  • 按下[h]可以将玩家向左移动,将巨石向左推,或攻击左侧的怪物。在“选择物品”模式(按下[;]之后),按下[h]将光标向左移动以选择物品。

因此,玩家按下[h]攻击蝾螈。

太简单了!这只蝾螈只挨了一击就死了!(请注意,还有其他的怪物更难对付……)

与地衣对战

[编辑 | 编辑源代码]

现在考虑一下示例游戏中后期的这种情况。玩家探索了更多区域,移动了一些巨石,使它们不再阻挡道路。在 NetHack 中,每个玩家都会逐渐恢复生命值,因此,在这次探索之后,玩家的生命值又回到了“HP:14(14)”,而不是“HP:12(14)”,尽管之前被蝾螈攻击造成了伤害。

然后玩家遇到一个字母F。这只怪物是一只地衣

这只地衣看起来很弱。它只是“碰了一下”,生命值计仍然显示“HP:14(14)”。这一次,玩家再次按下[h]进行战斗。

“你打偏了地衣。”在 NetHack 中,攻击有时会失败。然而,地衣行动太慢,无法做出反应,玩家还有机会再次攻击,按下[h]

“你杀死了地衣!”这是一只非常弱的怪物,只挨了一击就死了。

下一层地牢

[编辑 | 编辑源代码]

现在我们已经探索了第一层地牢(“Dlvl:1”)并找到了通往下一层的楼梯>,是时候继续前往下一层地牢进行探索了。玩家@和宠物狗d接近楼梯。

需要注意的是,不要将宠物狗(或者猫,或者你可能拥有的其他宠物,作为新手玩家)留在这一层!宠物很有用(尽管这些页面避免剧透宠物如何帮助玩家)。因此,在使用楼梯之前找到你的宠物,就像这位玩家在这里做的那样。

现在走到楼梯上。

(通往下一层的楼梯>现在不可见了,因为它与玩家@在同一个方格上。)

宠物必须在八个相邻的方格中的任何一个上。(如果没有,按下[.]等待宠物过来,或者按下[s]等待并搜索。反复小心地按下该键,不要按住它;多按一次键可能会让过来的宠物移动走。)

现在,激活通往下一层的楼梯>的键是方便的[>],这个键与屏幕上楼梯的符号相同。(在许多键盘上,按住[SHIFT]并按下[.]即可输入[>]。)

玩家出现在第二层。

从楼梯上走下来(走向这位玩家想要的金子)就会发现它是一条通往上一层的楼梯<,因为我们现在在楼梯的底部。可以使用这条楼梯返回上一层。唯一的区别是使用[<]键使用这条楼梯。

(如果你找到了延德的护身符,使用这些楼梯返回地牢顶部,然后使用“Dlvl:1”上的楼梯<离开地牢。但是,如果你在找到延德的护身符之前使用该楼梯离开地牢,那么你的游戏就会提前结束。)

物品栏

[编辑 | 编辑源代码]

现在按下[i]查看物品。在游戏开始时查看物品是一个好习惯,但新手玩家有时会忘记这样做。以下是示例玩家的物品栏:

它列出了玩家携带的所有物品。(钱包里还有“$:51”的金币。)包括我们之前找到的“g”,紫红色的药水,“h”,手套,以及“i”,宝石。

它还包括玩家一开始携带的所有物品。请注意,玩家穿着“精灵披风”。“精灵匕首”被标记为“手中的武器”。这意味着玩家正在挥舞着匕首,并在近战中使用它。

想知道这位玩家用什么攻击了那只蝾螈和地衣?玩家一直使用这把匕首攻击它们。(没有武器的玩家可以用手攻击。)

在收集了一些金币之后,玩家看到一只下水道老鼠和两只网格虫。这位玩家决定攻击下水道老鼠r。(玩家可以使用[;]再次识别下水道老鼠。)

下水道老鼠用牙齿攻击;在下一回合,玩家按下[l]战斗,但双方都打偏了。在另一回合,下水道老鼠死了。

它留下了一个百分号%,通常指的是可食用的东西,可以尝试吃掉。没错,它是一具“下水道老鼠尸体”。玩家站在与尸体相同的方格上,可以按下[e]尝试吃掉它。

这是 NetHack 中一个简单的 [ynq] 菜单。

  • 按下[y]表示,吃掉尸体。
  • 按下[n]表示。在这种情况下,NetHack 会执行[e]在方格上没有尸体时通常会执行的操作;它会弹出一个菜单,要求选择一个物品栏中的物品来吃。在这个菜单中,可以按下[f],这是玩家手中莱姆巴斯薄饼的物品栏字母。
  • 按下[q]表示退出此命令,如果你不想现在吃。

玩家决定吃掉尸体。“这具下水道老鼠尸体味道真难吃!--更多--”

但当网格虫x向玩家发起威胁性动作时

这位玩家选择忽略网格错误,继续吃尸体。(在某些情况下,这位玩家可能想立即尝试逃跑。)为了继续吃尸体,这位玩家再次使用相同的[e]命令。"你继续用餐。你吃完了下水道老鼠的尸体。"

使用物品

[编辑 | 编辑源代码]

到目前为止,这位玩家还没有使用任何物品,除了已经装备的匕首和已经穿戴的斗篷。通常,物品的使用并不在游戏初期;例如,这位玩家还没有决定要不要喝那瓶紫色的药水。

有几种命令可以使用物品,以下是一些

  • [d] 丢弃物品(这样玩家就可以使用[,]再次捡起它)
  • [D] 丢弃多个物品
  • [w] 装备武器
  • [W] 穿戴盔甲
  • [T] 脱下盔甲

还有其他命令,比如[q]喝药水;按下[?]阅读 NetHack 帮助屏幕,其中提供了完整的命令列表。

这位玩家决定戴上那副手套。因此,玩家按下[W],它会弹出一个菜单

菜单选项 "[h or ?*]" 表示这位玩家可以按下以下任意键

  • [h] 穿戴 "h" 项目(手套)
  • [?] 查看物品栏中的盔甲列表
  • [*] 查看物品栏(尝试穿戴一些不寻常的东西吗?)

玩家按下[h] 穿戴手套。"你完成了你的穿戴动作。" 按下[i]查看物品栏 显示手套 "正在被穿戴"

保存游戏

[编辑 | 编辑源代码]

这是开始教程的结尾,它介绍了 NetHack tty 端口的控制方法。我们还会提到两个键

  • [S] 保存游戏
  • [#] 用于扩展命令(输入 "quit" [RETURN] 退出游戏)

[S] 保存游戏的特性非常重要。玩家几乎可以在游戏的任何地方保存游戏,以便在需要时退出 NetHack。而 "#quit" 特性,相反,应该只用于怯懦地放弃游戏;它会宣布你的得分,并阻止你继续进行该游戏。

示例玩家现在按下[S]保存游戏

按下[y],游戏就会被保存。在下一次玩家启动 NetHack(作为同一台计算机上的同一用户)时,游戏将从这个点继续,玩家@位于第二个地下城关卡 "Dlvl:2",戴着手套。

参考文献

[编辑 | 编辑源代码]
华夏公益教科书