c# - 在 C# 中,如何在两个项目之间进行选择?

标签 c# math random

这可能以前有人问过,但如果有我找不到它。我正在写一个小游戏,其中随机生成总和供用户回答,并计算正确+不正确的答案。它到目前为止有效,但我希望实现一个系统,在该系统中,游戏在两个随机选择的数字之间的 +、-、/和 * 符号之间随机选择,然后根据选择的是哪个,改变计算正确答案的方式。为了更好的主意,这是我当前的相关代码:

    public void makeNewSum()
    {
        var randomNum = new Random();
        num1 = randomNum.Next(0, 10);
        num2 = randomNum.Next(0, 10);
        answer = num1 + num2;
        label1.Text = num1.ToString() + " + " + num2.ToString() + " = ";
        txtAnswer.Text = "";
        txtAnswer.Focus();

项目“label1”是显示必须回答的总和的地方,尽管您可能看得出来。我想弄清楚的是如何告诉它在“+”、“-”、“/”和“*”之间进行选择,目前它总是说“+”,然后将变量“answer”更改为反射(reflect)所选的符号。我打算使用 if 语句来反射(reflect)符号的选择,但我不知道如何让它首先在它们之间进行选择。非常感谢您的帮助!

最佳答案

你可以使用数组:

char[] operators = { '+', '-', '*', '/' };

然后选择一个:

char op = operators[randomNum.Next(operators.Length)];

可以使用其他东西,比如 enum Operator { plus, minus, mult, ... } 而不是 char。在每种情况下,您当然都需要一个微型解释器来从 char/enum 运算符中获得您自己的正确答案。喜欢:

switch(op)
{
   case '+' : 
      answer = a + b;
      break;

   case '-' : 
      answer = a - b;
      break;

   // etc
}

关于c# - 在 C# 中,如何在两个项目之间进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18684307/

相关文章:

c# - 将带有 byte[] 的函数从 C# 转换为 C++

c# - 如何在不在 C# Windows 应用程序中创建父类的新实例的情况下返回父窗体

algorithm - 如何从三个点计算角度?

c++ - 生成 10 到 65 之间的随机数

algorithm - 如何生成相关的二元变量

java - Java中随机生成器的问题

c# - 无法将 UI 控件的值作为参数传递给 Task.Factory.StartNew 内的方法

c# - Socket.ReceiveAsync 和 SslStream

c++ - 使用相机旋转使四边形始终出现在相机前面(c++/opengl)

javascript - 在网络上编写数学证明的最佳方法是什么?