我正在尝试使用c#在Unity中为我的游戏开发类创建游戏。我在尝试输入输入时遇到问题。我想做的是,如果我输入例如“ 1”,我希望它现在(现在)响应“您选择了1!”。但它没有播放。如果有帮助,我可以在游戏中使用它。
这是我到目前为止所拥有的
void UserInput(string input)
{
if (input == "1")
{
print("You choose 1");
}
else if (input == "2")
{
print("You choose 2");
}
else
{
print("Invalid Response");
}
}
任何帮助都会很棒!谢谢!
编辑:谢谢大家的帮助。我对所有这些都是新手。我很感谢所有回复
答案 0 :(得分:3)
如果您的输出是输入内容,也许您可以发现问题所在:
void UserInput(string input)
{
Console.WriteLine($"The input was '{input}'");
当输入为空时,单引号很有用,因为这样您将看到The input was ''
而不是The input was
。
答案 1 :(得分:0)
在您的特定情况下,您似乎只想将其输入通知最终用户,在这种情况下,您可以简单地执行以下操作:
public void UserInput(string input) {
Console.WriteLine($"You choose {input}");
}
但是,如果您只希望处理某些情况(在您的情况下仅为1和2),则可以使用switch语句:
public void UserInput(string input) {
switch(input) {
case "1":
case "2":
Console.WriteLine($"You choose {input}"); // will only write 1 or 2
break; // necessary to prevent fall-through
default:
Console.WriteLine("Invalid Response");
答案 2 :(得分:0)
另一个解决方案是
void UserInput(string input)
{
if (string.IsNullOrEmpty(input))
{
Console.WriteLine("Invalid Response");
return;
}
Console.WriteLine($"You choose {input}");
}
答案 3 :(得分:0)
void UserInput(string input){
default:
Console.WriteLine("Invalid Input"); break;
case "1":
Console.WriteLine("You haven chose 1"); break;
case "2":
Console.WriteLine("You have chosen 2"); break;
}
Console.Write("Input: ");
var Input = Console.ReadLine();
UserInput(Input);