创建字符的方法

时间:2017-08-11 03:19:07

标签: c# class

我是编程新手所以我正在尝试为编程练习制作一个非常简单的RPG模拟器,并且在创建角色时遇到了问题。当我在主程序中制作我的角色时,它们可以正常工作,我可以按照我想要的方式与他们互动。这使得主程序看起来非常难看,所以我的想法是id有一个为我创建所有角色的方法:

class Create
{
    public static void Characters()
    {
        Hero Dash = new Hero("Dash", 3, 10);

        Bandit Keith = new Bandit("Keith", 1, 5);
        Bandit Leader = new Bandit("Bandit Leader", 2, 8);

        Knight Leeroy = new Knight("Leeroy" , 3, 12);
        Knight Seth = new Knight("Seth", 5, 15);

        Dragon BlueDrag = new Dragon("Blue Dragon", 7, 20, 2);
        Dragon RedDrag = new Dragon("Red Dragon", 8, 20, 3);
        Dragon BlackDrag = new Dragon("BlackDrag", 10, 25, 4);
    }
}

但我无法使用它们。例如,如果我尝试使用我的攻击方法使Dash攻击某些东西,它说Dash在当前上下文中不存在。为什么会这样?谢谢。对不起,如果这是一个非常愚蠢的问题。

2 个答案:

答案 0 :(得分:2)

简单的解释是,由于您的范围/上下文{ },您已无法访问它。

以例如:

void Main()
{
    string one = "Hello";

    {
        string two = " World";
    }

    Console.WriteLine(one + two); // will not work
}

这样做的原因是当您将新对象封装在{ }内时,它会在其外部无法访问。

答案 1 :(得分:2)

请尝试以下代码。创建一个字典可能会更好,你可以用字符串名称查找字符,而不是为每个字符创建一个变量。

3 of a kind: <input type="text" name="qtyB">
      <br>
      4 of a kind: <input type="text" name="qtyB">
      <br>
      Full House: <input type="text" name="qtyB">
      <br>
      Little Straight: <input type="text" name="qtyB">
      <br>
      Lg. Straight: <input type="text" name="qtyB">
      <br>
      <b>Yahtzeebeshy:</b> <input type="text" name="qtyB">
      <br>
      Chance: <input type="text" name="qtyB">
      <br>
      Lower Section Total: <input type="text" id="LowerSectionTotal">