伤害计算
我一直好奇游戏的伤害计算是怎么计算并输出的,这第二节课利用学过的初级语法,Console.WriteLine,Console.ReadLine(),以及基础变量,int,string 和if 判断 组合,来实现打印一下伤害计算吧!
老规矩 先上结果图
代码区域
namespace hello01
{
internal class Program
{
static void Main(string[] args) // 方法 Main 入口
{
int gwhp = 100;// 怪物血量
int damage = 10;//基础伤害值
int hp = gwhp - damage; // 攻击后的伤害值
string atk;
Console.WriteLine("当前伤害值为:{0}点", damage);
Console.WriteLine("请输入要修改的攻击力数值");
atk = Console.ReadLine();// 修改的伤害值
hp = hp - int.Parse(atk);// 计算
Console.WriteLine("当前怪物血量为:{0},你的当前攻击力为{1}", hp, atk);
Console.ReadLine();
if (hp <= 0)// hp <= 0 进来
{
Console.WriteLine("当前怪物血量已清零,您杀死了怪物");
}
Console.ReadLine();
}
}
}
在原有基础上进行了升级 效果图如下
更新后的代码内容如下
namespace hello01
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("请设定怪物血量");
int gwhp = int.Parse(Console.ReadLine());
Console.WriteLine("当前怪物血量为:{0}", gwhp);
Console.WriteLine(" ");
Console.WriteLine("请设定当前攻击力数值");
int atk = int.Parse(Console.ReadLine());
Console.WriteLine("当前攻击力数值为:{0}", atk);
// 这里默认 血量永远大于攻击力 且都为整数,刚好能除尽
for (int i = 0; gwhp>0 ; i++) {
// 第一次攻击
Console.WriteLine("按回车键进行一次攻击");
Console.ReadLine();
gwhp = gwhp - atk;
Console.WriteLine("当前怪物血量为:{0},当前攻击力数值为:{1}", gwhp, atk);
Console.WriteLine(" ");
if (i == 3 && gwhp >0)
{
// 第四次攻击 触发暴击
Console.WriteLine("按回车键进行一次攻击");
Console.ReadLine();
gwhp = gwhp - atk * 2;
Console.WriteLine("当前怪物血量为:{0},当前攻击力数值为:{1},你触发了暴击", gwhp, (atk * 2));
Console.WriteLine(" ");
}
if (gwhp <= 0)
{
Console.WriteLine("当前怪物血量已清零,您杀死了怪物");
Console.WriteLine(" ");
break; // 结束循环
}
}
Console.ReadLine();
}
}
}