我正试图制作一个“谁想成为百万富翁”游戏。
我有15txt表示级别,在每个级别我有3个问题,例如:
Qual e a capital do Brasil? || Rio de Janeiro || Brasilia || Sao Paulo || Curitibia || Brasilia ||
Quantas sao as Tartarugas Ninja? || Quatro || Tres || Cinco || Duas || Quatro ||
Como se chama o estadio do Sporting Clube Portugal? || Sporting Arena || Esperanca XXI || Alvalade XXI || Leao XXI || Alvalade XXI ||
抱歉,这是葡萄牙文。
到目前为止我所拥有的:
string[][] pergresp = File.ReadLines("l1.txt").Select(s => s.Split('|')).ToArray();
将问题放在[0] [0],[1] [0],[2] [0]上。
答案在[0] [1],[0] [2],[0] [3],[0] [4]以及[0] [5]上的正确答案中。
如何向用户显示随机问题中的一个,以及如何将用户的选择与正确的选项进行比较?
谢谢
答案 0 :(得分:3)
创建将代表问题实体的类
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]
};
}
}
你应该知道碰到了什么。代码中也会有一些错误,所以要调试它们。