仅通过JS进行人格测试?

时间:2016-07-26 15:19:26

标签: javascript arrays global-variables local-variables

我想进行角色个性测试(对于我的虚构角色)

我知道我必须让变量等于这样的数组:

// var personality = [gender, age, muscularity, trait_1, trait_2, etc.];

我知道variable = array没有用,所以我评论了它。我将需要每个问题的变量和许多if / else if / else语句。

我从alert()语句开始,我在问一个问题“你的性别是什么?”我想我需要将其更改为prompt()才能接受答案。

但是,如何将所有这些var = "string"if/else语句和var = [array]语句转换为合理,纯粹的JS性格测试?

我知道plan(gender first, then age, then other physical characteristics, then socio-emotional characteristics, then other characteristics),但我需要一些帮助。

我知道if/elseif/else陈述会导致越来越多的提示,有些会针对男性,有些会针对女性。所以我会拥有所有这些嵌套语句:

if (variable = "string") {
    prompt("Next question");
    var a(generic variable that could refer to anything) = [array(prompt results)];
} else {
    prompt("Next question");
    var b(again generic variable) = [array(prompt results)];
}

那么我怎么能让数组得到可能的结果呢?如果输入的是未定义的(在数组之外)不允许它继续?

我怎么能得到这个最后的人格数组来考虑所有先前的变量,并且在没有n * 10 ^ x if / else语句的情况下使特定的组合等于特定的个性?

1 个答案:

答案 0 :(得分:0)

首先,您使用的是JavaScript,因此对象/词典是您的朋友。它们就像数组,但每个条目都有键。

其次,你应该有一个问题清单,你提出了不同的答案。使用提示(纯JavaScript alert)并不是一个好主意,因为响应非常有限。相反,我建议查看模态并使用它们为每个问题显示更多结果,或者为他们填写文本框。

我认为epascarello有一个非常好的主意,检查null或空字符串,如果一个问题没有得到回答,然后重新呈现。