[英]If Statement with multiple OR Values
我目前正在课外做一个简单的谜语游戏,我想做的是有一个声明来验证问题是什么,以及输入的答案是否正确。 这是我到目前为止的代码:
private void butt_Submit_Click(object sender, EventArgs e)
{
if (lab_Riddle.Text == "What Walks on 4 Legs in the Morning, 2 in the Afternoon and 3 in the Evening?")
if (TeBo_Ans.Text == "A Man") ;
; {
MessageBox.Show("Well Done");
lab_Riddle.Text = ("I have an Eye but Cannot See- What Am I?");
}
if (TeBo_Ans.Text == "Mankind") ;
{
MessageBox.Show("Good Words");
lab_Riddle.Text = ("I have an Eye but Cannot See- What Am I?");
}
if (TeBo_Ans.Text == "People") ;
{
MessageBox.Show("Yes");
lab_Riddle.Text = ("I have an Eye but Cannot See- What Am I?");
}
if (TeBo_Ans.Text == "A Person") ;
{
MessageBox.Show("Exactly");
lab_Riddle.Text = ("I have an Eye but Cannot See- What Am I?");
}
if (TeBo_Ans.Text == "Humankind") ;
{
MessageBox.Show("Exactly");
lab_Riddle.Text = ("I have an Eye but Cannot See- What Am I?");
}
}
在这里, lab_Riddle
是包含问题的标签,而TeBo_Ans
是用户输入答案的文本框。 这段代码可以工作,但理想情况下,我想将其压缩为类似
If lab_Riddle.Text= [Riddle 1]
{
If TeBo_Ans == [a] OR [b] OR [d]
{
MessageBox.Show ("Correct")
lab_Riddle.Text [riddle 2]
}
Else
{
MessageBox.Show ("Incorrect")
}
}
如果我还没有说过,语言是 C# 和垂直线。 这可能是一个非常漫长而复杂的方法,但我对编码仍然很陌生。
嗯,你可以使用字典的答案
如
String answer = "a dog";
Dictionary<string, string> riddleans = new Dictionary<string, string>();
riddleans.Add("a man", "Well done");
riddleans.Add("mankind", "Good words");
answer = answer.ToLower();
if (riddleans.ContainsKey(answer))
{
Messagebox.Show(riddleans[answer]);
gotonextriddle();
}
else
{
Messagebox.Show("Incorrect);
}
但是你可以通过使用结构或类来扩展它,然后你有一个谜语列表等等。
这里要指出的一件事是答案的最低点 - 这意味着如果我写的是“MANKIND”或“mankind”,它仍然适合而不是“Mankind”。
由于您要根据用户输入的内容显示不同的文本片段,因此您可以将其存储在Dictionary
var answers = new Dictionary<string, string>()
{
{ "Mankind", "Good words" },
{ "People", "Yes" },
{ "A Man", "People" }
};
var answerGiven = TeBo_Ans.Text;
if (answers.ContainsKey(answerGiven))
{
// user has the correct answer
}
显然,在这种情况下,您需要考虑区分大小写,例如,但这只是做您想做的一种方式。 我想在某些方面您的问题可能更适合放在 Code Review Stack Exchange 上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.