问题标签 [inform7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reflection - 在 Inform 7 中,通过不同文本中的名称查找事物
假设我有一个不同的文本,其中包含“大厅”。
现在假设我的故事中有一个房间a,叫做“大厅”。
有没有办法基于此将一个人(让我们称她为 Laura)移动到大厅?
我正在寻找的是这样的:
或者,如果Anna
是一个人:
当然,一定有类似的东西。但我找不到它。
长期目标是将人和地点的名称存储在文本文件中,然后将它们恢复为对事物的引用。
runtime-error - Inform7:使用房间的属性
我对这门语言非常非常陌生,并且将我的头脑围绕“如何用东西做事”被证明是一项非常令人沮丧的努力。
我的目标是创建一个机制,其中某些房间是危险的,并且玩家在其中停留的时间越长变得越危险。如果玩家在危险的房间里停留的时间过长,就会触发死亡场景。
我的代码如下所示:
我似乎无法弄清楚如何正确处理“房间的危险程度”。我定义的解释规则在进入危险房间时会导致运行时错误:
..并尝试将规则改写为类似the danger level of the room
或the danger level of this room
导致令人困惑的编译消息,例如:
以这种方式引用对象属性的“正确”方法是什么?
inform7 - How to jump over stuff in Inform 7
I have a "door" (a turnstile) between two rooms in Inform 7, and I want the player to have to jump over it.
I have:
but I get the error:
Problem. You wrote 'Instead of jumping turnstile' , which seems to introduce a rule taking effect only if the action is 'jumping turnstile'. But that did not make sense as a description of an action. I am unable to place this rule into any rulebook.
See the manual: 7.1 > 7.1. Actions
I checked out that section, and googled a bunch, no luck. Any help is appreciated!
inform7 - 在inform7中如何触发进入房间的规则
如果玩家进入一个物体(他们的手机)“充电”的房间,我试图触发游戏结束。
我一定不明白在输入位置时触发规则的语法,因为我意识到我的其他类似规则也没有发生。
我有:
但规则如下:
也不工作。我阅读了关于结束游戏的第 9.4 节,也用 after 和 before 替换了我的,但没有运气。玩家在条件下进入房间后我该怎么做?
谢谢!
inform7 - 在通知 7 中,为什么这个复杂的语句不能用作文本替换?
这是一个代码片段,显示了我当前在源代码中的内容:
在我的游戏中,我想喝血清让玩家变身为特定的动物。该动物的名称存储为称为“动物名称”的文本属性。我希望能够仅在给定血清本身的情况下引用此名称,因此我添加了变形和血清对象之间的关系。
然后我添加这个规则:
我在这里所做的是打印这条消息,然后将相关的变形移动到玩家的库存中。我这样做是出于其他原因,但我需要这样做。
例如,给定这些断言:
我希望在游戏中喝猫血清会打印“你现在可以变成猫了。”,并将猫的变体放入玩家的库存中。
我得到了两个错误,我不知道如何解决。
1) 在句子'say "You can now become a [animal name of morph by noun '对于所有者是谁或什么不够具体。
2)你写了“现在名词所显示的变形被玩家持有”:但这还不够明确,应该列出具体事物之间的明确关系,比如“现在猫在袋子里”,而不是更多难以捉摸,比如“现在猫是由一个女人抱着的”。(哪个女人?这就是麻烦。)
看来我添加的规则只是不想工作。它围绕着【名词所揭示的变形动物名称】部分和‘名词所揭示的形态’部分展开。不过,这些听起来像是完全合理的事情。名词所揭示的变形动物名称应该是一个可说的陈述。名词所揭示的形态应该是完全具体的——毕竟,我指定了启示将一种血清与一种形态联系起来。
有什么问题?或者更确切地说,我如何将显示的变体的动物名称作为文本替换,以及如何更改血清显示的变体的状态?
inform7 - 默认为[固定字母间距],Inform 7 (6L38)
在构建 6L38 之前,我能够将大约 90% 的文本生成默认为固定字母间距,通过使用
这导致大部分文本默认为等宽。
现在我已经更新到 6L38,这似乎不再起作用了。
有没有更好的/可行的方法让所有打印的文本都以固定的字母间距打印?目前,我必须确保我的所有文本都以 [固定字母间距] 开头,包括为房间创建打印名称。您可以猜到,这不是最好的解决方案。
编辑:之所以发生这种情况,是因为我现在正在使用 glulx(我的源代码现在对于 z-code 来说太大了)。
所以,正确的问题应该是“如何让 glulx 将所有内容默认为等宽?”
inform7 - 如何限制通过 Inform 7 中的特定门推送特定物品
我有很多东西我想限制通过特定的门安装。所以椅子太大/太重而无法携带,但在大多数情况下可以推着穿过一个房间到另一个房间。除非门很窄。我可能可以成功编写特定代码来处理特定情况,但我想通用地处理这个问题,这样我就可以拥有许多笨重的东西和狭窄的门。
以下代码在功能上有效,但是第二个名词以“无”结尾。我想使用行进方向的门名称来响应“push chair s”,并显示“椅子太笨重,无法穿过裂缝”。有什么想法我做错了什么或其他方式吗?
inform7 - Inform 7 中的打印室描述“事后”规则
我有以下代码:
不幸的是,这会阻止打印房间描述。如果我添加“继续操作;” 最后,输出是“你听到远处有很大的噪音!” 在房间描述之前。我真的想要房间描述第一。如果我添加“尝试寻找;” 作为第一行,它打破了简要/详细模型。如何编码以获得以下输出?
(详细)
(简短,第二次入住时)
inform7 - 如何为一组事物分配一种类型
我是 Inform 7 的新手。我一直在玩“Bogart”示例,它提供了一些服装规则。
我有类似的东西:
现在我想为服装添加一个属性,例如:
在这一点上,看起来我必须通过并明确地将玩家佩戴的每个项目定义为item of clothing
,例如:
...等玩家穿着的一切。
我想找到一种方法来告诉通知,everything worn by the player is an item of clothing
甚至everything wearable is an item of clothing
。到目前为止,我还没有找到任何可以编译的形式,这可能吗?
inform7 - 默认情况下如何将关系分配给一种事物
我是 Inform 7 的新手。我一直在玩“Bogart”示例,它提供了一些服装规则。
我想定义各种服装,例如:
袜子是一种服装。
鞋子是一种服装。
然后我想说,类似于您对属性的处理方式:
一双袜子通常位于一双鞋的下面。
一双鞋通常覆盖在一双袜子上。
到目前为止,我认为这是不可能的,你只能在事物(实例)而不是种类(类)之间建立关系。有没有办法提供从一种所有实例到另一种所有实例的“默认”关系?
有没有办法在没有关系的情况下对此进行建模?