游戏中常见的随机设计

本文介绍了Unity游戏中常用的随机设计方法,包括如何获取单个随机数,利用Random.Range进行区间随机;探讨了数组的洗牌算法,适用于卡牌游戏或类似羊了个羊的洗牌效果;此外,还讲解了带权随机数的实现,以调整不同道具出现的概率,以及如何获取一个带权随机数组,常见于抽卡游戏的十连抽机制。
摘要由CSDN通过智能技术生成

获取单个随机数。

unity中的随机可以直接使用API“Random.Range(min,max)”随机两数之间的中间数,注意左闭右开!

获取打乱排序后的数组。

游戏中有时会有需求获取随机的数组,如卡牌游戏,又或者前段事件大火的羊了个羊的洗牌道具都使用了洗牌算法。洗牌算法也算比较简单,传入数组本体即可。

        

        public static void ShuffleFunc(ref List<int> nums)
        {
            // Random myRandom = new Random();
            for (int i = 0; i < nums.Count; i++)
            {
                int temp = nums[i];
                int randomIndex = Random.Range(0,nums.Count);
                nums[i] = nums[randomIndex];
                nums[randomIndex] = temp;
            }
        }

带权随机一个数

在随机道具时有时想要品质高的道具更难以获得,这时就可以使用带权随机的方法。简易的带权随机。

         private void Start()
         {
             int[] ids = {1,2,3,4,5};
             int[] nums = {5,4,3,2,1};
             int id = Weight
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值