问题描述
我正在尝试创建一个基于文本的冒险游戏。我有一个元素可以根据您正在进行的“任务”显示不同的文本和按钮选项。我希望它从我的任务对象中随机选择一个任务。
例如:我将有一个带有任务名称的键,例如:“Dragon Slayer”,然后是一个名为 text 的键,它将具有一个字符串值:“你想杀死一条龙吗”
我希望用一个对象来实现这一点...
在尝试随机获取其中一个值时,我意识到我无法像访问数组索引那样访问这些值。我以为我可以使用类似的东西..
var mainQuest = Math.floor(Math.random()* Quest[0].length);
displayText = Quest[mainQuest[mainQuest].title]
解决方法
Andreas 有正确答案,实现基本是:
let keys=Object.keys(quest)
let index=Math.floor(Math.random()*keys.length)
randomQuest=quest[keys[index]]
而 randomQuest
将是随机选择的任务 :D