我倾向于自己解决大部分问题,但对于我的生活,尽管进行了大量的搜索,但我无法想出一种专业的方法。
这是我的基本计划:
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的攻击。我怎么做?有了转到吗?大声笑,我不知道。
答案 0 :(得分:0)
您需要设置一个具有正确条件的循环,否则您的程序将从头到尾运行一次然后退出。 如果你想让你的食人魔攻击一定次数,就把它放在一个for循环中,例如:
for(int i = 0; i < 5; i++)
{
attack code here;
}
我建议添加一些用户输入来指示程序流?还要考虑将怪物放入他们自己的类中,例如有一个主要的Moster类,其中包含montser所需的所有共享属性,然后将每个怪物设置为派生类。
然后,您可以设置攻击方法以接受怪物的类型。应该防止你必须为每个怪物写一个攻击方法。
答案 1 :(得分:0)
您的程序在打印输出后结束,因为您到达Main
mnethod的末尾,并且该方法 ,用于所有意图和目的,您的程序。为了使其重复您已经完成的过程,您需要循环。
在C#中有几种循环方式。您可以使用for
循环循环固定次数,也可以使用while
或do
循环在条件为真时循环。例如,如果您想重复您的过程十次,可以在主循环中使用它:
for (int i = 0; i < 10, i++)
{
// put your original code here
}
答案 2 :(得分:0)
我认为答案只是在每个ReadLine之后按Enter键,因为它正在等待您的输入。
哦,我认为这是一个非常酷的第一个写作程序,比“Hello World”更酷......你们强大的Ogres围栏的摇摆; - )