[游戏开发]常用算法

 排序算法

1.A*算法

 A*算法是游戏程序必备算法之一,寻路通常都用它

下面推荐一个寻路算法的网站,它讲述了各种寻路算法代码以及演示,不仅能看到算法过程,而且还可以点击动态变换路障

Red Blob GamesInteractive tutorials for math and algorithmsicon-default.png?t=M85Bhttps://www.redblobgames.com/

2.递归算法

 例如AB包的依赖加载使用递归,程序是从最外层引用发起的,但第一个加载的居然是最内层的依赖AB包,递归真的妙!

一般来说多次套娃的数据类型可以且适合用递归。

3.洗牌算法Shuffle

static void Shuffle(int[] arr)
{
    Random r = new Random();
    int index;
    int temp;
    for (int i = 0; i < arr.Length; i++)
    {
        index = r.Next(arr.Length);    
        temp = arr[i];  //当前元素和随机元素交换位置
        arr[i] = arr[index];
        arr[index] = temp;
    }         
}

 第二种取随机数的方式,从网上看到的

    void Shuffle(int[] arr)
    {
        int index;
        int cache;
        if (arr == null || arr.Length == 0)
            return;
        for (int i = 0; i < arr.Length; i++)
        {
            // 随机数是为了取余
            index = i + new System.Random().Next(0, 10000000) % (arr.Length - i);

            cache = arr[i];
            arr[i] = arr[index];
            arr[index] = cache;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little丶Seven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值