问题标签 [adventure]

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.

0 投票
1 回答
702 浏览

java - 在 Java 中初始化一个非数字变量

为了练习使用 if else、do while 和 switch 语句,我正在制作一个小型文本冒险游戏,用户可以在其中输入他们的名字,获得随机生成的职业,并被分配随机生成的任务。然而,在第二个目标进行到一半时,我使用的 java 开发程序不断说我的一个变量“可能没有被初始化”。

到目前为止,这就是我所拥有的代码:

=============

=============

我收到的错误消息是“变量 Mage 可能尚未初始化”。

我没有太多的编码经验,并且想知道我做错了什么以及如何在以后的程序中修复它。

0 投票
4 回答
171 浏览

python - 文本冒险游戏布尔变量对我不起作用

我的文字冒险游戏有点麻烦。这个想法是从起居室开始,到地下室去拿钥匙,当你再次进入起居室时,你应该赢了。当我执行我的代码时,它只是让我进入房间,布尔值应该告诉 if 语句,has_key = true但它总是不起作用。有什么想法吗?

0 投票
1 回答
63 浏览

javascript - How Do I Print Correct Random Array Value Within If/Else Statement in my Text Adventure?

I am trying to make a text adventure that will output the correct console log statement based on a specific input. I want it so that if the goblin does enough attack damage so that the player's defense is less than 0 that the console log will print out "The Goblin did" x amount of "damage!". Here is my variable list at the top of the code:

At the bottom of my code a specific if/else condition is called as long as the goblin's hp (var gobHp) has not gone down to zero after the player attacks the goblin in the earlier section of the code. Here it is:

But no matter how many times I run through the code the console log always prints out "The Goblin did 0 damage!" even if the goblin's atk minuses the player's def to less than 0. If the player's def is less than 0 the console log should print out the correct amount of damage.

0 投票
2 回答
1851 浏览

java - 库存中物品使用的设计模式建议

不幸的是,由于我学校的面向对象软件工程项目,我正在使用 java 和 slick2d 制作冒险游戏。

我正在应用 MVC 架构,并通过从 ItemFactory 类中的平铺地图文件中读取来创建项目。他们似乎很适合这种游戏。

游戏中有多个项目会影响游戏,尤其是角色。(在这种情况下,角色与玩家相同)

有一个字符模型,它有一个内部类 Inventory,它基本上由一个 ArrayList 项目组成。

角色控制器有一个名为 takeItem 的函数,它接受一个容器参数(即货架),该参数也有一个项目的 ArrayList,然后删除里面的内容并放入库存中。

它有一个名为 useItem 的函数,它接受一个 int 索引并使用适当索引中的项目。

在那之前,一切都很好。

现在的主要问题是,这些物品有特定的用途。例如,健康药水增加角色的健康,隐形药水使其隐形等。

为了维持一个好的设计,我如何以及在哪里可以解释和附加功能到这些项目?

到目前为止,我认为是这样的: 1- 我没有向项目类添加任何功能。它只有名称、描述和 Enumerated ItemType 和 int power 2-我正在角色控制器的 useItem() 方法中完成所有工作,即

正如你所看到的,这看起来很奇怪,因为角色控制器就像一个项目解释器。

3- 另一种方法可能是创建一个带有字符控制器的 ItemInterpreter 类。虽然这看起来更优雅,但它会让我在角色控制器中执行一堆不必要的功能,比如调用角色模型的 increaseHelth() 函数的“increaseCharacterHealth”函数等等。

另一个可能的问题是我使用Character Controller的功能来使用物品,但是物品也可能影响游戏,即减慢时间,但是Character Controller位于游戏的类层次结构之下,无法访问Game/GameController功能。减慢游戏时间等似乎至少现在不是这种情况,所以看起来我可以在 CharacterController 类中使用 Items 但我想知道你的意见,如果它是一个好的设计或者什么可以更好。

一些用于清除问题的代码:(注意:它们不完整) 注意:我将 ItemType、Direction 等枚举类型放在所有类都通用的 Common 类中。

在 CharacterController 中使用 item 函数:

我没有放所有代码,但是如果我解释不清楚,我可以。

0 投票
1 回答
1061 浏览

python - 为文字冒险游戏添加战斗系统;对我正在使用的代码结构感到困惑

通过一些教育材料,我的任务是使用以下结构(类)进行文本冒险游戏,并且需要为英雄和敌人之间的战斗添加一个简单的战斗系统。

目前,我可以在每个房间中创建一个敌人并在开始房间(走廊)到浴室和背部之间移动,但此时我被卡住了。我无法确定我应该在哪里创建我的“英雄”或如何传达我需要对健康属性等进行的更改。

如果我能以另一种方式构建代码,我将能够完成游戏,但我对如何使各个代码段相互通信的理解存在差距。

谢谢,

戴夫

0 投票
2 回答
2453 浏览

java - 在 Java 冒险游戏中跟踪房间?

我正在尝试创建一个 Java 冒险游戏,您可以在其中向北、向南、向东和向西移动。但是,您不能移动这些方向,具体取决于每个房间的方向布尔值是否为truefalse(即,如果true该房间为北,您可以向北移动)。我的问题是我不确定如何跟踪玩家当前所在的房间/移动到新房间。跟踪玩家当前所在房间并移动到新房间的理想方法是什么?

代码:

编辑:所以要链接房间,这是链接它们的好方法吗?如果用户输入北、南、东或西,则方向实际上与该方向上的房间相关联。以下是其中一个房间执行此操作的示例:

0 投票
1 回答
70 浏览

java - 将分配给对象的一个​​变量更改为另一个对象?

我试图创建一个冒险游戏,其中用户键入北、南、东和西以移动到不同的房间。所以我有一个玩家类,它有一个 Currentroom 变量,其中一个房间被分配给它作为默认房间。我想要做的是当玩家进入一个方向时,它将玩家的 Currentroom 变量更新为不同的房间对象。我该怎么做才能跨房间导航?我将发布 Adventure 课程以及其中一个房间的示例。

冒险课:

房间 1(起始房间):

球员等级:

0 投票
1 回答
679 浏览

python - 文字冒险室运动

所以我一直在努力解决这个代码问题,但我似乎无法得到它。每当您尝试向任何方向移动时,它仍然会打印出您被困在厨房中。我添加了一个打印当前房间行,这表明程序正在将其移动到其他房间,但没有打印正确的描述。

任何帮助都会很可爱!

提前谢谢。

0 投票
1 回答
60 浏览

actionscript-3 - Flash AS3 命令如何对多个场景有效?

我正在创建一个密室逃脱游戏,类似于那些冒险游戏。三个房间:厨房,客厅,浴室。每个房间都在一个场景中。有按钮连接它们。比如厨房里有个小箭头指向右边,点击它会移动到客厅,从而播放客厅场景。

每个场景由背景图片层、对象(库存)层、按钮层和动作脚本层组成。

在厨房里有一把钥匙,你可以抓住并放入你的库存中。我用key1_mcand来做key2_mc。Key2 是 key1 的版本,在抓取 key1 之前它在库存中是不可见的。当点击 key1 时,key1 变得不可见,而 key2 变得可见,因此给人的印象是我抓住了它并把它放在了库存中。我可以在每个其他场景中从厨房复制粘贴库存层。是否可以定义该层以显示在所有其他场景中?

正如我所说

问题:一旦我拿到钥匙,我希望它留在我的库存中,无论我在三个房间里走多少次,直到我在客厅的钥匙孔上使用它。但目前,拿到钥匙,离开再进入厨房后,一切从头开始。但到目前为止,每当我进入这三个房间中的任何一个时,它们都会从头开始播放,并不关心我在其他房间场景中做了什么。所以我想在 AS 中说:如果在 Scene kitchenkey2_mc.visible = true中,那么在 [name of scene, or all other scene] scene 中key2_mc = visible。或在客厅 AS:检查场景中的厨房 key2 是否启用可见。如果,那么这里也可见。或者有一个适用于所有场景的元 AS?

0 投票
1 回答
1164 浏览

javascript - Javascript文本冒险室导航

我目前正在尝试进行文字冒险,但在房间导航方面遇到了困难。它是 4 x 4 - 总共 16 个房间。就游戏的界面和整体故事而言,它仍在主要建设中,我只是在外壳上编写代码以获取功能。我计划使用门和锁任务,但我必须先确保我能正确导航。

我的问题是游戏从第 12 个房间开始,向西导航正常,就像向东或向西导航在第 12 个房间以西的房间一样,依此类推。但是,如果玩家向北走,它会导航到与地图上完全不同的房间。

这是游戏地图,仅供参考。

这是游戏地图,仅供参考。从第 12 个房间开始,玩家应该可以输入“north”并直接进入第 8 个房间。相反,它似乎进入了第 9 个房间。向东将成功将他们带入第 13 个房间。

我要南北工作。似乎只有我的东西导航在工作。

这是完整的代码: