Javascript 如何让随机选择引用RPG生命路径生成器的先前随机选择?
我正在尝试制作一个Javascript版本的基本“生命路径生成器”,它经常出现在纸笔RPG中。我根据此处找到的模板制作了生成器: 不幸的是,我不知道如何引用以前选择的随机结果 笔和纸的等价物可能看起来像这样:掷d6来决定职业(吟游诗人、牧师、德鲁伊、战士、盗贼、巫师)。滚动d20以确定角色的背景(每个背景对于其类都是唯一的) 我猜我会为每个集合创建数组或对象,但我不知道如何使第二个集合自动触发第一个随机选择。我想有它设置,我可以按下一个按钮,并有一切随机生成 这是我能想到的最接近的地方:Javascript 如何让随机选择引用RPG生命路径生成器的先前随机选择?,javascript,arrays,if-statement,random,Javascript,Arrays,If Statement,Random,我正在尝试制作一个Javascript版本的基本“生命路径生成器”,它经常出现在纸笔RPG中。我根据此处找到的模板制作了生成器: 不幸的是,我不知道如何引用以前选择的随机结果 笔和纸的等价物可能看起来像这样:掷d6来决定职业(吟游诗人、牧师、德鲁伊、战士、盗贼、巫师)。滚动d20以确定角色的背景(每个背景对于其类都是唯一的) 我猜我会为每个集合创建数组或对象,但我不知道如何使第二个集合自动触发第一个随机选择。我想有它设置,我可以按下一个按钮,并有一切随机生成 这是我能想到的最接近的地方: v
var gen_data = {};
gen_data['main'] = {
'You are a {class}.'
if {class} = Bard '{bardBackstory}'
else if {class} = Cleric '{clericBackstory}'
else if {class} = Druid '{druidBackstory}'
else if {class} = Fighter '{fighterBackstory}'
else if {class} = Rogue '{rogueBackstory}'
else if {class} = Wizard 'wizardBackstory}'
};
gen_data['class'] = {
'1': 'Bard',
'2': 'Cleric',
'3': 'Druid',
'4': 'Fighter',
'5': 'Rogue',
'6': 'Wizard
};
gen_data['bardBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['clericBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['druidBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['fighterBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['rogueBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['wizardBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
generator.js中的javascript(random.html中的base/64代码)使用正则表达式搜索
{example\u here}'
中的字符串,并将其替换为gen\u data['example\u here']
中对象的随机成员的值。后续使用{}
将创建所需的嵌套效果
var gen_data = {};
gen_data['main'] = ['You are a {class}.']
gen_data['class'] = {
'1': 'Bard. {bardBackstory}',
'2': 'Fighter. {fighterBackstory}',
'3': 'Wizard. {wizardBackstory}'
};
gen_data['bardBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['fighterBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
gen_data['wizardBackstory'] = {
'1': 'story1',
'2': 'story2',
'3': 'etc'
};
当我测试这个时,它不会产生任何输出。我猜嵌套会阻止它执行,但不确定是什么。我修复了上面示例中的一个错误
genu data['main']
应该是长度为1的数组,而不是对象。将genu数据['main']={'youarea{class}}
更改为genu数据['main']=['youarea{class}]
。