C#:程序流程:我能';尽管知道答案显然很容易,但我还是找不到答案
我倾向于自己解决大部分问题,但就我的一生而言,我无法找到一种专业的方法来解决这个问题,尽管我在寻找 这是我的基本程序:C#:程序流程:我能';尽管知道答案显然很容易,但我还是找不到答案,c#,C#,我倾向于自己解决大部分问题,但就我的一生而言,我无法找到一种专业的方法来解决这个问题,尽管我在寻找 这是我的基本程序: namespace ConsoleApplication1 { class MonsterAttackRolls { public int GoblinAttack() { int AttackNumber = 0; Random rnd = new Random(); AttackNumber
namespace ConsoleApplication1
{
class MonsterAttackRolls
{
public int GoblinAttack()
{
int AttackNumber = 0;
Random rnd = new Random();
AttackNumber = rnd.Next(1, 21);
return(AttackNumber);
}
public int OrcAttack()
{
int AttackNumber = 0;
Random rnd = new Random();
AttackNumber = rnd.Next(11, 31);
return (AttackNumber);
}
public int OgreAttack()
{
int AttackNumber = 0;
Random rnd = new Random();
AttackNumber = rnd.Next(21, 41);
return (AttackNumber);
}
}
class ApplicationObject
{
static void Main()
{
MonsterAttackRolls Goblin1 = new MonsterAttackRolls();
MonsterAttackRolls Orc1 = new MonsterAttackRolls();
MonsterAttackRolls Ogre1 = new MonsterAttackRolls();
Console.WriteLine("These are the attack numbers for the Goblin and the Orc! {0} {1}", Goblin1.GoblinAttack(), Orc1.OrcAttack());
Console.ReadLine();
Console.WriteLine("This is the Ogre's attack number! {0}", Ogre1.OgreAttack());
Console.ReadLine();
}
}
}
现在我想回到Main()程序,直接进入食人魔的攻击。我该怎么做?带着一个goto?哈哈,我没有任何线索。您需要设置一个具有正确条件的循环,否则您的程序将从头到尾运行一次,然后退出。 如果你想让你的食人魔攻击一定次数,将其放入for循环中,例如:
for(int i = 0; i < 5; i++)
{
attack code here;
}
for(int i=0;i<5;i++)
{
攻击代码在这里;
}
我建议添加一些用户输入来指示程序流程?还可以考虑将怪物放入自己的类中,例如,拥有一个主Moster类,该类包含montser所需的所有共享属性,然后将每个怪物设置为派生类
然后你可以设置你的攻击方法来接受怪物的类型。应该可以防止您为每个怪物编写攻击方法。您的程序在打印输出后结束,因为您的
Main
mnethod已经结束,而该方法实际上就是您的程序。为了让它重复您已经完成的过程,您需要一个循环
在C#中有几种循环方式。您可以使用for
循环进行固定次数的循环,也可以使用while
或do
循环在条件为真时进行循环。例如,如果您想将流程重复十次,可以在主循环中使用:
for (int i = 0; i < 10, i++)
{
// put your original code here
}
for(int i=0;i<10,i++)
{
//把你的原始代码放在这里
}
我认为答案是在每次读取后按enter键,因为它正在等待您的输入
哦,我认为这是第一个非常酷的程序,比“Hello World”酷多了。。。你们这些强大的食人魔,向篱笆挥舞吧;-) “返回到我的Main()程序”是什么意思?你的意思是想再次在
Main
中查看代码吗?是的,很抱歉不清楚。调用函数后如何返回主程序?如中所示,程序列出了我对兽人和地精的随机数,但程序结束了。你的问题是因为你在读这行吗?它将不会返回到Main(),直到您在ReadLine命令上按enter键。是否要递归调用Main方法?在每个类中创建Random:Random rnd=new Random()代码>这是不正确的。您应该初始化Random一次并重用它。否则,Random总是由当前时间派生值和rnd初始化。下一步将生成不那么随机的值。只需将几个Goblin1.GoblinAttack()
连续输出即可。