排序算法
1.A*算法
A*算法是游戏程序必备算法之一,寻路通常都用它
下面推荐一个寻路算法的网站,它讲述了各种寻路算法代码以及演示,不仅能看到算法过程,而且还可以点击动态变换路障
Red Blob GamesInteractive tutorials for math and algorithmshttps://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;
}
}