1 //首先先定义一个数组 比如战斗场景位置为4*4 将索引0-15存放到数组中 2 int totalCount = 16; 3 int[] index = new int[totalCount]; 4 for (int i = 0; i < totalCount; ++i) 5 { 6 index[i] = i + 1; 7 } 8 9 //定义一个结果数组 存放最终结果 count为需要的数量 10 int[] result = new int[count]; 11 int k = count, id = 0; 12 for (int i = 0; i < count; ++i) 13 { 14 id = Random.Range(1, k - 1); //随机一个0-15的数 15 result[i] = index[id]; //将index数组中的数字存入到结果容器中 16 index[id] = index[k-- - 1]; //先用index数组中的最后一个数字覆盖掉之前被取的数字 17 //再将index数组减少一格容量 18 }