C#:程序流程:尽管知道它显然很容易,但我找不到答案

时间:2012-10-22 09:25:35

标签: c#

我倾向于自己解决大部分问题,但对于我的生活,尽管进行了大量的搜索,但我无法想出一种专业的方法。

这是我的基本计划:

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()程序并直接进入Ogre的攻击。我怎么做?有了转到吗?大声笑,我不知道。

3 个答案:

答案 0 :(得分:0)

您需要设置一个具有正确条件的循环,否则您的程序将从头到尾运行一次然后退出。 如果你想让你的食人魔攻击一定次数,就把它放在一个for循环中,例如:

for(int i = 0; i < 5; i++)
{

  attack code here;

}

我建议添加一些用户输入来指示程序流?还要考虑将怪物放入他们自己的类中,例如有一个主要的Moster类,其中包含montser所需的所有共享属性,然后将每个怪物设置为派生类。

然后,您可以设置攻击方法以接受怪物的类型。应该防止你必须为每个怪物写一个攻击方法。

答案 1 :(得分:0)

您的程序在打印输出后结束,因为您到达Main mnethod的末尾,并且该方法 ,用于所有意图和目的,您的程序。为了使其重复您已经完成的过程,您需要循环

在C#中有几种循环方式。您可以使用for循环循环固定次数,也可以使用whiledo循环在条件为真时循环。例如,如果您想重复您的过程十次,可以在主循环中使用它:

for (int i = 0; i < 10, i++)
{
    // put your original code here
}

答案 2 :(得分:0)

我认为答案只是在每个ReadLine之后按Enter键,因为它正在等待您的输入。

哦,我认为这是一个非常酷的第一个写作程序,比“Hello World”更酷......你们强大的Ogres围栏的摇摆; - )