【发布时间】:2016-03-30 23:11:42
【问题描述】:
我正在制作一个类似测验的游戏,我在其中生成数学表达式,然后根据生成的数学表达式的结果生成两个假答案。因此,用户看到数学表达式并得到三个答案,他需要从中选择正确的答案。
到现在为止
switch(opIndexValue)
{
case Helper.CASE_ADD:
answer1 = resultValue + Random.Range(1, 4);
answer2 = resultValue - Random.Range(1, 4);
break;
case Helper.CASE_SUBTR:
answer1 = resultValue + Random.Range(1, 4);
answer2 = resultValue - Random.Range(1, 4);
break;
case Helper.CASE_MULTI:
answer1 = resultValue + Random.Range(1, 4);
answer2 = resultValue - Random.Range(1, 4);
break;
case Helper.CASE_DIVIS:
answer1 = resultValue + Random.Range(1, 4);
answer2 = resultValue - Random.Range(1, 4);
break;
}
它看起来不错,可以完成工作,但它有点通用。 如果您是成年人,即使您没有经过计算,您也很容易在这三者中区分正确的解决方案。
如果你是一名数学家,你会如何生成这两个假答案? 另一方面,您将如何生成 4 个虚假答案? :)
代码用 C#/Unity3D 5.1.4 编写。
【问题讨论】:
-
好像你只处理算术和原始操作。在这种情况下,我将实现一个名为 ArithmeticOperation 的简单委托,该委托将采用 2 个参数并添加/相乘/...它们。在应用程序中,我将使用 1 个正确的 ArithmeticOperation 并选择另一个随机 ArithmeticOperation。
-
我投票决定将此问题作为题外话来结束,因为它更多地与提出好的测验答案有关,而不是与编程有关。
-
@Bart 我不同意。弗拉德,阅读C# Delegates
-
为什么要让简单的数学题做多项选择?为什么不只是 38 + 65 = _______?
-
因为按正确或错误答案的按钮比在输入字段中输入 1-2 个字母要快:)
标签: c# math random unity3d calculator