我是编程新手所以我正在尝试为编程练习制作一个非常简单的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在当前上下文中不存在。为什么会这样?谢谢。对不起,如果这是一个非常愚蠢的问题。
答案 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">