生成随机且不重复的怪物和数字
来源:互联网 发布:南京黑马程序员考试 编辑:程序博客网 时间:2024/04/29 03:54
一直在想这个问题,终于搞定了,就是说要生成100个怪物,且要控制怪物之间的间距,不能太近了。这就要考虑如何才能不重复:
public List<int> num = new List<int>();//用数组的话没有直接移除的方法
public List<int> view = new List<int>();//随机好的数字
void Start()
{
for (int i = 0; i < 100; i++)//100是随机的数量
{
num.Add(i);//向随机的库里填加要随机的元素,这里我就用0-99吧,表示0至100随机不重复
}
for (int i = 0; i < 100; i++)
{
int index = Random.Range(0, num.Count);//这里随机的是所有随机数里边的索引
view.Add(num[index]);//根据索引来取到相应的数值
num.RemoveAt(index);//把该索引移除,以实现不重复
}
}
思路就是随机一个我就从库里删除这个数值的索引,然后下次随机的时候就不会有这个索引了,自然就达到了不重复的目的
接下来是生成怪物了:
using UnityEngine;
using System.Collections.Generic;
public class CreateRandomMonster : MonoBehaviour
{
List<Vector3> pos = new List<Vector3>();//所有的坐标都存放在这里
public GameObject cube;//需要生成的物体
int count = 10;//生成的数量
int space = 2;//物体之间的间距
void Start()
{
CreateMonster();//生成坐标,
RandomMonster();//随机产生
}
void CreateMonster()
{
for (int i = 0; i < 10; i += space)//就是存放坐标的一个过程,这里就用10*10的方阵吧
{
for (int j = 0; j < 10; j += space)
{
pos.Add(new Vector3(i, 0, j));
}
}
}
void RandomMonster()
{
for (int i = 0; i < count; i++)
{
int index = Random.Range(0, pos.Count);//随机一个坐标库里的坐标
GameObject mon = Instantiate(cube, pos[index], Quaternion.identity) as GameObject;//将生成的物体放在该坐标
mon.transform.parent = transform;//找个parent
pos.RemoveAt(index);//随机完一个坐标就从库里删除以达到不重复的目的
}
}
}
- 生成随机且不重复的怪物和数字
- 随机生成1-100的数字,且不能重复
- 根据时间随机生成12位数字,且不重复2015-8-21
- 获取四位随机数字字符串,且数字不重复
- 简单的 随机 生成不重复 数字的小程序
- Unity C# 随机生成的不重复的几个数字
- 网友提出的问题:随机生成十个数字,不重复。
- C#如何生成随机不重复的数字
- ASP生成不重复随机数字的另类思路
- java中生成不重复随机的数字
- java经典算法_033随机生成不重复的数字
- 生成8位随机不重复的数字编号
- 【生成8位随机不重复的数字编号】
- C#如何生成随机不重复的数字
- 【Unity实用小方法】随机生成不重复的数字
- java中生成不重复随机的数字
- java中生成不重复随机的数字
- 随机地生成n个不超过n且不重复的正整数
- 在LinearLayout里动态添加子布局
- OpenGL立方体在世界坐标系中_缩放_旋转_平移_顶点片源着色器_光照作用_棋盘纹理贴图
- Kafka+Storm+HDFS整合架构
- 批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全
- 前端交互封装的一些javaScript方法
- 生成随机且不重复的怪物和数字
- jQuery实现input下拉多选框
- 下拉框分组显示
- linux [理解linux 的 inode][解决inode耗尽问题][转载]
- 选择手机中的一张照片或拍照上传图片(超高清晰度)
- iOS菜鸟走过的路-(02)键盘的通用回收方法
- NSDate相关
- 安装Sql server2008R2 Express 碰到 system ,version=4.0错误
- JVM体系结构