我是编程新手,并决定创建一个简单的控制台应用程序“冒险书”(如基于文本的RPG)将是一个开始沉浸在c#编程世界中的好方法。我遇到了无法返回代码段并跳过其他代码的问题。例如,我可以从开始到选项1,但是如果没有显示选项1,我就无法直接进入选项2.我也无法从选项1返回到开头。
我认为这是因为选项2的代码部分低于选项1的代码部分。我可以看到某种激活/停用系统可能通过停用选项1 +启动和激活选项2等工作。我是甚至不确定这是否可行,我也不知道如何做到这一点。
非常感谢任何帮助:D
string Nextpage;
int Page = 0;
//start
do
{
Console.WriteLine("");
Console.WriteLine("Type option 1 to go to option 1");
Console.WriteLine("");
Console.WriteLine("Type option 2 to go to option 1");
Console.WriteLine("");
Nextpage = Console.ReadLine().ToUpper();
if (Nextpage == "OPTION 1")
{
Page = 1;
}
if (Nextpage == "OPTION 2")
{
Page = 2;
}
else
{
}
} while (Page == 0);
//option 1
do
{
Console.Clear();
Console.WriteLine("Welcome to option 1");
Console.WriteLine("Type start to go to start");
Console.WriteLine("");
Nextpage = Console.ReadLine().ToUpper();
if (Nextpage == "start")
{
Page = 0;
}
else
{
}
} while (Page == 1);
//option 2
do
{
Console.Clear();
Console.WriteLine("Welcome to option 2");
Console.WriteLine("Type start to go to start");
Console.WriteLine("");
Nextpage = Console.ReadLine().ToUpper();
if (Nextpage == "start")
{
Page = 0;
}
else
{
}
} while (Page == 2);
答案 0 :(得分:0)
了解控制流语句以使其正常工作非常重要。 do {} while (..)
循环执行1次到多次,这就是为什么你得到"选项1"即使它是必需的"选项2"。查看执行0到多次的while(..) { }
语句。如果你把所有东西放到一个循环中并管理某种类型的列表会告诉你什么时候执行代码(switch
语句)或者使用对函数(委托)的引用(某种更高级的编程),它会很有帮助。我没有在这里放任何代码,以便您可以自己探索。玩得开心!
答案 1 :(得分:0)
而不是使用
while(condition)
{
//code
}
使用
do
前一个片段在while
语句处进入循环,运行代码,然后根据string Nextpage;
int Page = 0;
while (Page == 0)
{
//Start code here
//option 1
while (Page == 1)
{
//option 1 code here
}
//option 2
while (Page == 2)
{
//option 2 code here
}
}
"条件"决定是否循环。后者首先评估条件,然后决定它是应该进入循环还是完全跳过该区块。
这可以解决您输入选项1的代码问题,即使您键入了选项2。
要解决返回到开始的问题,请让"启动循环"封装了选项1和选项2的代码。请参阅下面的代码并密切注意大括号和缩进以查看操作顺序。
Parse.initialize("App_ID", "Javascript_Key");
我希望这很有用。