ice*_*oge 2 c# variables scope function
嗨,我对C#和一般的编程非常陌生.我正在尝试将基于文本的冒险游戏作为我的第一个非制导项目.我正在将所有攻击/伤害卷分类为函数.但我无法获得修改变量的功能.
有谁知道如何获得一个全局修改变量的函数.
示例代码
class Program
{
public static int var = 10;
static void Main(string[] args)
{
Maths();
Console.WriteLine(var);
}
static void Maths()
{
int var = 12;
}
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我希望修改后的"var"打印为12,而"var"打印为10.
这是我想要使用这个原理的实际代码.
class Program
{
//Char Stats
static int playerMaxHealth = 50;
static int playerHealth = 40;
static int playerAttack = 10;
static int playerLevel = 1;
//Temp Stats
public static int attackRoll;
//Enemy Stats
static int enemyMaxHealth;
static int enemyHealth;
static int enemyAttack;
//Declar Random
static Random randomObject = new Random();
static void Main(string[] args)
{
attackRollFunc();
Console.WriteLine(attackRoll);
while(true)
{
if (playerHealth <= 0)
death();
}
}
public static int attackRollFunc()
{
int attackRoll = randomObject.Next(playerAttack);
Console.WriteLine(attackRoll);
return attackRoll;
}
Run Code Online (Sandbox Code Playgroud)
在代码中
static void Maths()
{
int var = 12;
}
Run Code Online (Sandbox Code Playgroud)
您正在声明一个名为的新局部变量var
.这与您尝试修改的var
字段无关.
如果int
从方法中删除部件,它将执行您期望的操作:
static void Maths()
{
var = 12;
}
Run Code Online (Sandbox Code Playgroud)