生成14个可重复一次的随机数
来源:互联网 发布:单管共射放大电路数据 编辑:程序博客网 时间:2024/05/17 05:10
private int[] DealStartTiles() { //Debug.Log(System.DateTime.Now.Millisecond); int[] TilesPlatgame=new int[14]; int[] NumRepeat = new int[14]; int nraddress = 0; TilesPlatgame[0]=0;//init NumRepeat[0] = 0; int seedr=Mathf.RoundToInt(System.DateTime.Now.Millisecond*Random.value)/10; for(int i=0;i<14;i++) { while(true) { seedr=Mathf.RoundToInt(System.DateTime.Now.Millisecond*Random.value)/10; int Torder = 0; if(seedr>=0&&seedr<53) { if(NumRepeat[0]!=0) { for(int k=0; k<NumRepeat.Length;k++) { if(seedr==NumRepeat[k]) { Torder = 1; break; }else { Torder = 0; break; } } } if (Torder == 1) continue; else break; } } TilesPlatgame[i]=seedr; int WhoRepeat = 0; for(int j=0; j<i;j++) { if(TilesPlatgame[i]==TilesPlatgame[j]) { WhoRepeat = TilesPlatgame[j]; NumRepeat[nraddress++] = WhoRepeat; break; } } } for(int l=0; l<TilesPlatgame.Length;l++) { Debug.Log(TilesPlatgame[l]); } return TilesPlatgame; }
总体思想就是,生成一个数放到一个数组里,然后用这个数和前面所有数进行对比,重复一次就放到另外一个数组里,下次循环其中一个分支会因为另外一个数组非空而开始进行比对,如果该随机数与重复数组重复则重新生成随机数,然后继续执行上述操作。
阅读全文
0 0
- 生成14个可重复一次的随机数
- 生成5个不重复的随机数
- 生成N个不重复的随机数
- 生成N个不重复的随机数
- java实现生成不重复的随机数,可循环利用
- 生成 [0-n) 个不重复的随机数
- erlang生成N个不重复的随机数
- PHP n个不重复的随机数生成代码
- 生成20个1-100不重复的随机数
- Java实现生成n个不重复的随机数
- C#利用ArrayList生成10个不重复的随机数
- java:随机生成100个不重复的随机数
- 生成n个不重复的随机数 java
- 生成不重复的随机数
- 生成无重复的随机数
- 生成不重复的随机数
- 生成无重复的随机数
- 生成不重复的随机数
- HDU--dp练习--1021--最少拦截系统
- Java反射备忘
- 【已解决】Android Studio下,gradle project sync failed 错误
- JS转义 escape()、encodeURI()、encodeURIComponent()区别详解
- Linux驱动之I2C总线
- 生成14个可重复一次的随机数
- io操作
- 多功能的"小数点对齐式制表符"
- ajax提交form表单
- Aizu
- 数据结构及算法知识(四)
- Python学习之僵尸进程的产生和清除详解
- 逃逸分析
- JAVA设计模式初探之装饰者模式