C# 向用户显示一个随机字符串,并将其与用户选择的答案进行比较
我想做一个想成为百万富翁的游戏 我有15txt代表等级,每个等级我有3个问题,例如: 巴西首都在哪里里约热内卢| | | | | | | | |圣保罗| | | | | | |巴西利亚|| 圣光武士四重奏|| 葡萄牙体育俱乐部在哪里运动场| | | |世界语二十一世| | |阿尔瓦莱德二十一世| |莱奥二十一世| |阿尔瓦莱德二十一世|| 对不起,是葡萄牙语的 我现在所拥有的: 字符串[][]pergresp=File.ReadLinesl1.txt.Selects=>s.Split'|'.ToArray; 将问题放在[0][0]、[1][0]、[2][0]上。 答案在[0][1]、[0][2]、[0][3]、[0][4]上,正确答案在[0][5]上 如何向用户显示三个随机问题中的一个,以及如何将用户的选择与正确的选择进行比较C# 向用户显示一个随机字符串,并将其与用户选择的答案进行比较,c#,arrays,C#,Arrays,我想做一个想成为百万富翁的游戏 我有15txt代表等级,每个等级我有3个问题,例如: 巴西首都在哪里里约热内卢| | | | | | | | |圣保罗| | | | | | |巴西利亚|| 圣光武士四重奏|| 葡萄牙体育俱乐部在哪里运动场| | | |世界语二十一世| | |阿尔瓦莱德二十一世| |莱奥二十一世| |阿尔瓦莱德二十一世|| 对不起,是葡萄牙语的 我现在所拥有的: 字符串[][]pergresp=File.ReadLinesl1.txt.Selects=>s.Split'|'.To
谢谢创建表示问题实体的类
public class Question
{
public string What { get; set; }
public string[] Answers { get; set; }
public string Correct { get; set; }
public bool IsCorrect(string answer)
{
if (answer.Equals(Correct, StringComparison.OrdinalIgnoreCase))
return true;
return false;
}
}
并解析文件中的问题
class Program
{
static void Main(string[] args)
{
var quest = File.ReadLines("l1.txt").Select(ProcessLine).ToArray();
var rnd = new Random();
int questionNum = rnd.Next(0, quest.Length - 1);
Question question = quest[questionNum];
Console.WriteLine(quest[questionNum].What);
// Get the user input
//if(question.IsCorrect(userAnswer))
// Console.WriteLine("Win");
//else
// Console.WriteLine("Try again");
}
private static Question ProcessLine(string s)
{
var tokens = s.Split('|');
if (tokens.Length <= 2)
throw new ArgumentException("Invalid question");
return new Question()
{
What = tokens[0],
Answers = tokens.Skip(1).Take(tokens.Length - 2).ToArray(),
Correct = tokens[tokens.Length - 1]
};
}
}
你应该知道班普在想什么。代码中也会有一些bug,所以请调试它们。为什么不让事情变得更简单,创建问题对象,将问题、答案和正确答案作为属性?我喜欢OOP方法。考虑使用类似IsHealTrStReq的答案,而不是CuffSouthReScript答案——更好地描述意图。