2.必备知识点-随机数
2.1 知识点
创建随机数Random对象
固定写法:
Random 随机数变量名 = new Random();
示例:
Random r = new Random();
Random.Next方法 生成随机数
生成一个非负数的随机数:
int i = r.Next();
Console.WriteLine(i); // 随机出可能是 402743845
生成一个 0~99 的随机数,左边始终是 0(左包含),右边是 100(右不包含):
i = r.Next(100);
Console.WriteLine(i); // 随机出可能是 84
生成一个 5 到 99 的随机数,左包含右不包含:
i = r.Next(5, 100);
Console.WriteLine(i); // 随机出可能是 56
2.2 知识点代码
using System;
namespace 必备知识点_随机数
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("随机数");
#region 知识点一 产生随机数对象
//固定写法
// Random 随机数变量名 = new Random();
Random r = new Random();
#endregion
#region 知识点二 生成随机数
//生成一个非负数的随机数
int i = r.Next();
Console.WriteLine(i);//随机出可能是402743845
// 生成一个 0~99的随机数 左边始终是0 左包含 右边是100 右不包含
i = r.Next(100);
Console.WriteLine(i); //随机出可能是84
// 生成一个 5到99的随机数 左包含 右不包含
i = r.Next(5, 100);
Console.WriteLine(i); //随机出可能是56
#endregion
}
}
}
2.3 练习题
韬老狮打小怪兽
在控制台中模拟韬老狮打小怪兽的过程,描述小怪兽的掉血情况。
韬老狮攻击力为8~12之间的一个值
小怪兽防御为10,血量为20
在控制台中通过打印信息表现韬老狮打小怪兽的过程
描述小怪兽的掉血情况
伤害计算公式:攻击力小于防御力时,减血为0,否则减血攻击力和防御力的差值
声明各个对象的相关属性
int teacherTangAtk = 0; // 韬老狮的攻击力,默认为0
int monsterDef = 10; // 小怪兽防御为10
int monsterHp = 20; // 小怪兽血量为20
创建随机数对象
Random r = new Random();
创建死循环,进行攻击
while (true)
{
// 循环体
}
循环内,随机生成韬老狮的攻击力
teacherTangAtk = r.Next(8, 13);
循环内,判断是否能对小怪兽进行掉血
if (teacherTangAtk > monsterDef)
{
// 减血攻击力和防御力的差值
monsterHp -= teacherTangAtk - monsterDef;
Console.WriteLine("韬老狮本次攻击力为{0},造成{1}伤害,怪物剩{2}血",
teacherTangAtk, teacherTangAtk - monsterDef, monsterHp);
// 怪物没血了跳出死循环
if (monsterHp <= 0)
{
break;
}
}
else
{
Console.WriteLine("韬老狮本次攻击力为{0},不足以造成伤害", teacherTangAtk);
}
循环内,让玩家按任意键继续攻击,清空输出的信息,开始新的循环
Console.WriteLine("请按任意键继续攻击");
Console.ReadKey(true);
Console.Clear();
怪物没血了跳出死循环后,输出怪物已死亡
Console.WriteLine("怪物已死亡");
这样,整个控制台中韬老狮打小怪兽的过程就通过循环模拟并展现出来。
2.4 练习题代码
using System;
namespace 必备知识点_随机数练习题
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("随机数练习题");
//韬老狮打小怪兽
//韬老狮攻击力为8~12之间的一个值
//小怪兽防御为10,血量为20
//在控制台中通过打印信息表现韬老狮打小怪兽的过程
//描述小怪兽的掉血情况
//伤害计算公式:攻击力小于防御力时,减血为0,否则减血攻击力和防御力的差值
//知识点:循环、随机数等等
//声明各个对象的相关属性
int teacherTangAtk = 0;//韬老狮的攻击力 默认为0
int monsterDef = 10;//小怪兽防御为10
int monsterHp = 20;//小怪兽血量为20
//创建随机数对象
Random r = new Random();
//创建死循环 可以不停的进行攻击
while (true)
{
//死循环内 随机出韬老狮的攻击力的值
teacherTangAtk = r.Next(8, 13);
//死循环内 判断当前攻击力能不能对小怪兽进行掉血 并进行对应情况的信息打印
if( teacherTangAtk > monsterDef )
{
//减血攻击力和防御力的差值
//monsterHp = monsterHp - (teacherTangAtk - monsterDef);
monsterHp -= teacherTangAtk - monsterDef;
Console.WriteLine("韬老狮本次攻击力为{0},造成{1}伤害,怪物剩{2}血",
teacherTangAtk, teacherTangAtk - monsterDef, monsterHp);
//怪物没血了跳出死循环
if( monsterHp <= 0 )
{
break;
}
}
else
{
Console.WriteLine("韬老狮本次攻击力为{0},不足以造成伤害", teacherTangAtk);
}
//死循环内 让玩家按任意键继续攻击 清空输出的信息 开始新的循环
Console.WriteLine("请按任意键继续攻击");
Console.ReadKey(true);
Console.Clear();
}
//怪物没血了跳出死循环后 输出怪物已死亡
Console.WriteLine("怪物已死亡");
}
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com