我一直在用 C# 制作文本冒险游戏(以了解有关字符串等的更多信息)。在您开始的 10 个基本场景之后,我会触发大约 3 个随机场景。其中之一是猴庙。“菜单”类有两个参数,MainArgs 和takedDump。在这些场景中,您可以选择进行转储,如果 takeDump 为真(布尔值),则会说“您旁边有一个便便”。如果您使用无法识别的命令,MainArgs 用于返回相同的场景。
public void ConScen1()
{
string MainArgs;
bool takenDump; // Available commands are: "hit monkey talk to monkey suicide go inside"
string conchoice1;
Console.WriteLine("You arrive at a temple dedicated to the monkey god.");
Console.WriteLine("Outside is a monkey, presumably guarding the place.");
Console.WriteLine("What do you do?");
Console.Write(">");
conchoice1 = Console.ReadLine();
if (conchoice1.Contains("hit monkey"))
{
Console.WriteLine("You hit the monkey. He draws a knife.");
Console.WriteLine("He stabs you in the eye. You bleed to death.");
Console.WriteLine(" -- Game Over --");
Console.WriteLine("Press any key to start over..");
Console.ReadKey();
takenDump = false;
MainArgs = "null";
TextAdventure1.AdventureTime.Menu(MainArgs, takenDump);
}
}
这里的问题是“字符串 MainArgs;” 线。我需要它用“null”调用 Menu() 来重新开始。但是,工作室说它没有被使用(即使它在 if 语句中使用)。有什么方法可以禁用警告或解决问题?如果我删除该行,它会给我一个关于未声明 MainArgs 的错误(在 if 语句中)。