【问题标题】:How to process the answer on this trivia game I'm making? (Javascript)如何处理我正在制作的这个琐事游戏的答案? (Javascript)
【发布时间】:2012-02-15 01:02:16
【问题描述】:

我正在尝试制作一个琐事游戏,稍后它会有漂亮的 CSS 布局。但是我需要将结果写在页面上(简单),但我想不出处理结果的好方法。这是我的代码:

function testResults (form) {
var answer = form.inputbox.value;
if (answer == /*This is where I'm having troubles at! */) {
document.getElementById("result").innerHTML = "Right!"
} else {
    document.getElementById("result").innerHTML = "Wrong!"
}
var triviaQ = [];
triviaQ[0] = {que: "Answer true.", ans: true}
triviaQ[1] = {que: "Answer false.", ans: false}
triviaQ[2] = {que: "Answer John.", ans: "John"}
triviaQ[3] = {que: "Answer herp.", ans: "herp"}

var Q = triviaQ.length;
var currentTrivia=Math.round(Math.random()*(Q-1));
function showtriviaQ(){document.getElementById("question").innerHTML = triviaQ[currentTrivia];}

如您所见,我已经完成了大部分内容,除了评论所在的位置。 “if”语句首先检查您对当前问题属性的回答(从文本框中)。

这些问题是完全随机的,以测试它是否有效,但我想不出在“if”语句检查中编写属性的方法。

【问题讨论】:

  • 我不确定我是否理解这个问题;如果您知道当前问题,则需要将该值转换为与问题的ans 属性相当的值。
  • 注意你应该使用 Math.floor(Math.random()*Q)。 Math.random() 返回区间 [0,1[.当你将它乘以 Q 时,你会在区间 [0,Q[ 中得到一个数字,而当你使用 floor 时,你会在区间 [0, Q-1] 中得到一个等概率整数。按照您的方式,使用round,您得到0 和Q-1,其余数字的概率为一半。

标签: javascript variables object


【解决方案1】:

我认为这会奏效。

if(answer == trivia[currentTrivia].ans)

您需要解析布尔值,以便它们真正相等:

var isTrueSet = (myValue === 'true');

来自here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多