2.随机数

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

×

喜欢就点赞,疼爱就打赏