mirror of
https://gitee.com/dgflash/oops-framework.git
synced 2026-09-03 02:23:47 +08:00
添加随机数模块文件
This commit is contained in:
@@ -8,11 +8,9 @@ oops-framework 基于 Cocos Creato 3.x 开发的一款游戏框架
|
||||
4. 框架提供游戏常用插件工具
|
||||
|
||||
注:
|
||||
1. [源库链接更新效率更高](https://gitee.com/dgflash/oops-framework)
|
||||
2. Cocos Creato 3.x 不同版的框架在源库分支中下载,master分支为最新引擎版本
|
||||
3. 学习交流 QQ 群:798575969
|
||||
|
||||

|
||||
1. Cocos Creato 3.x 不同版的框架在源库分支中下载,master分支为最新引擎版本
|
||||
2. 学习交流 QQ 群:798575969
|
||||

|
||||
|
||||
#### 技术文档
|
||||
- [oops-framework update](https://gitee.com/dgflash/oops-framework/tree/master/doc/using.md)
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
"_priority": 1073741824,
|
||||
"_fov": 45,
|
||||
"_fovAxis": 0,
|
||||
"_orthoHeight": 446.3340563991323,
|
||||
"_orthoHeight": 375,
|
||||
"_near": 1,
|
||||
"_far": 2000,
|
||||
"_color": {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: dgflash
|
||||
* @Date: 2021-07-03 16:13:17
|
||||
* @LastEditors: dgflash
|
||||
* @LastEditTime: 2022-07-20 17:28:50
|
||||
* @LastEditTime: 2022-07-21 14:48:35
|
||||
*/
|
||||
import { dynamicAtlasManager, macro, profiler, _decorator } from 'cc';
|
||||
import { DEBUG, JSB } from 'cc/env';
|
||||
|
||||
44
doc/core/common/random.md
Normal file
44
doc/core/common/random.md
Normal file
@@ -0,0 +1,44 @@
|
||||
### 功能说明
|
||||
OopsFramework-随机算生成管理模块,封装了[seedrandom](https://www.npmjs.com/package/seedrandom) 第三方随机数据库
|
||||
|
||||
### 使用说明
|
||||
##### 设置随机种子
|
||||
```
|
||||
// 随机种子可由服务端派发给其它客户端,同样的种子,多端随机同样次数时,结果是相同的
|
||||
RandomManager.instance.setSeed(123456789);
|
||||
```
|
||||
|
||||
##### 生成指定范围的随机整数
|
||||
```
|
||||
var min = 1;
|
||||
var max = 10;
|
||||
// [min,max) 得到一个两数之间的随机整数,这个值不小于min(如果min不是整数的话,得到一个向上取整的 min),并且小于(但不等于)max
|
||||
RandomManager.instance.getRandomInt(min, max, 1);
|
||||
|
||||
// [min,max] 得到一个两数之间的随机整数,包括两个数在内,这个值比min大(如果min不是整数,那就不小于比min大的整数),但小于(但不等于)max
|
||||
RandomManager.instance.getRandomInt(min, max, 2);
|
||||
|
||||
// (min,max) 得到一个两数之间的随机整数
|
||||
RandomManager.instance.getRandomInt(min, max, 3);
|
||||
```
|
||||
|
||||
##### 根据最大值,最小值范围生成随机数数组
|
||||
```
|
||||
var min = 1;
|
||||
var max = 10;
|
||||
var n = 10;
|
||||
// 生成10个1~10之间的随机数数组
|
||||
RandomManager.instance.getRandomByMinMaxList(min, max, n);
|
||||
```
|
||||
|
||||
##### 获取数组中随机对象
|
||||
```
|
||||
var objs = [1,2,3,4,5,6,7,8,9]
|
||||
RandomManager.instance.getRandomByObjectList(objs, 3);
|
||||
```
|
||||
|
||||
##### 定和随机分配
|
||||
```
|
||||
// 随机5个整数,5个数的和为100
|
||||
RandomManager.instance.getRandomBySumList(5,100);
|
||||
```
|
||||
@@ -64,14 +64,14 @@ export class RandomManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据最大值,最小值范围 生成随机数数组
|
||||
* 根据最大值,最小值范围生成随机数数组
|
||||
* @param min 最小值
|
||||
* @param max 最大值
|
||||
* @param n 随机个数
|
||||
* @param type 类型
|
||||
* @returns
|
||||
* @returns Array<number>
|
||||
*/
|
||||
getRandomByMinMaxList(min: number, max: number, n: number, type: number = 2): Array<number> {
|
||||
getRandomByMinMaxList(min: number, max: number, n: number): Array<number> {
|
||||
var result: Array<number> = [];
|
||||
for (let i = 0; i < n; i++) {
|
||||
result.push(this.getRandomInt(min, max))
|
||||
@@ -83,7 +83,7 @@ export class RandomManager {
|
||||
* 获取数组中随机对象
|
||||
* @param objects 对象数组
|
||||
* @param n 随机个数
|
||||
* @returns
|
||||
* @returns Array<T>
|
||||
*/
|
||||
getRandomByObjectList<T>(objects: Array<T>, n: number): Array<T> {
|
||||
var temp: Array<T> = objects.slice();
|
||||
@@ -99,9 +99,9 @@ export class RandomManager {
|
||||
* 定和随机分配
|
||||
* @param n 随机数量
|
||||
* @param sum 随机元素合
|
||||
* @returns
|
||||
* @returns number[]
|
||||
*/
|
||||
getRandomBySumList(n: number, sum: number) {
|
||||
getRandomBySumList(n: number, sum: number): number[] {
|
||||
var residue = sum;
|
||||
var value = 0;
|
||||
var result: Array<number> = [];
|
||||
|
||||
Reference in New Issue
Block a user