【发布时间】:2013-11-20 17:02:51
【问题描述】:
我正在编写一个控制台“游戏”,我需要在 IF 语句中声明一个字符“hp”,这取决于该字符的级别。
if ((char_level > 0) && (char_level < 4))
{
char_hp = 100;
}
if ((level > 4) && (level < 6))
{
char_hp = 120;
}
if ((level > 6) && (level < 8))
{
char_hp = 150;
}
if ((level > 8) && (level < 10))
{
char_hp = 180;
}
然后我需要稍后在战斗中的代码中使用它。战斗成功的角色获得新的等级后,程序会返回检查这些 IF 语句,如果等级大于 4,则角色的 hp 将增加到 120。但是在 IF 语句中声明 char_hp 不会改变值血量一般,达到4级后下一场战斗时,人物的血量仍然和上一场战斗结束时一样。我是 C# 编程的新手,我已经尝试了所有方法,但如果可能的话,我无法解决它。
同样的问题是随机生成的敌人的“hp”......然后我需要在那场战斗中使用它
if((level>0) && (level<4))
{
random_enemy_hp = RND.Next(89, 111);
goto enemy;
}
if((level>4) && (level<6))
{
random_enemy_hp = RND.Next(109, 141);
goto enemy;
}
if ((level > 6) && (level < 8))
{
random_enemy_hp = RND.Next(149, 184);
goto enemy;
}
if ((level > 8) && (level < 10))
{
random_enemy_hp = RND.Next(189, 221);
goto enemy;
}
编辑:我的意思是在 IF 语句中“将值保存到变量”,所以我可以稍后在代码中使用它们。我的代码是这样开始的,然后是“Console.WriteLine()”-s,战斗原理和上面显示的语句。
string name;
int char_hp = 100;
int level = 1;
int random_enemy_hp;
Random RND = new Random();
【问题讨论】:
-
goto在 C# 中!它活着! -
无论你想在 C# 中做什么,都不要使用“goto”。
-
您没有在您向我们展示的任何代码中声明
char_hp。 -
告诉我们您声明 char_hp 的位置
-
我记得当我第一次开始在 TI83 图形计算器上编程时。我根本没有使用任何函数或循环。只去
标签: c# if-statement declaration statements