用户:
limit_breakr查看:6 回复:2 评论:6 创建时间:2023-01-08T15:48:25
//random.js
console.log("random: import sucessed");
function random(max, min) {
if (typeof min != "number") {
min = 0
};
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
//dig.js
require("./random.js");
var dig = [], y = 100;
let rundig = 0;
for (var deep = 0; deep < 71;) {
var max = random(20, 2);
deep += 1 + random(5);
for (var count = 0; count <= max; count++) {
var x = random(128), z = random(128);
dig.push([
x,
y - deep,
z,
random(100),
random(4, 10),
random(180, -180),
random(180, -180),
]);
};
};
c.log("over", dig.length);
if (rundig) {
for (var count = 0; count < dig.length; count++) {
sleep(1000);
c.log(count);
for (
var diglen = dig[count][3];
dig <= diglen;
diglen++) {
var
cx = dig[count][0],
cy = dig[count][1],
cz = dig[count][2],
size = dig[count][4],
up = dig[count][5],
angle = dig[count][6],
radius = random(5, 3);
let xend = cx + size,
yend = cy + size,
zend = cz + size;
for (let x = cx - size; x <= xend; x++) {
for (let y = cy - size; y <= yend; y++) {
for (let z = cz - size; z <= zend; z++) {
let dx = x - cx;
let dy = y - cy;
let dz = z - cz;
if (Math.round(Math.sqrt(dx * dx + dy * dy + dz * dz)) <= size) {
voxels.setVoxel(x, y, z, "air")
}
}
}
}
size - random(10);
cx += Math.cos(angle) * Math.cos(up) * radius;
cy += Math.sin(up) * radius;
cz += Math.sin(angle) * Math.cos(up) * radius;
}
}
}

SCS_user_LoeheodVOQ// 第一种改法(不推荐)
// 优点:简单
// 缺点:会造成全局污染
//random.js
console.log("random: import sucessed");
function random(max, min) {
if (typeof min != "number") {
min = 0
};
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
globalThis.random = random; // random原理只是这个文件里的,这行代码将random放入全局,改成 global.random = random 也可以
//dig.js
require("./random.js");
var dig = [], y = 100;
let rundig = 0;
for (var deep = 0; deep < 71;) {
var max = random(20, 2);
deep += 1 + random(5);
for (var count = 0; count <= max; count++) {
var x = random(128), z = random(128);
dig.push([
x,
y - deep,
z,
random(100),
random(4, 10),
random(180, -180),
random(180, -180),
]);
};
};
c.log("over", dig.length);
if (rundig) {
for (var count = 0; count < dig.length; count++) {
sleep(1000);
c.log(count);
for (
var diglen = dig[count][3];
dig <= diglen;
diglen++) {
var
cx = dig[count][0],
cy = dig[count][1],
cz = dig[count][2],
size = dig[count][4],
up = dig[count][5],
angle = dig[count][6],
radius = random(5, 3);
let xend = cx + size,
yend = cy + size,
zend = cz + size;
for (let x = cx - size; x <= xend; x++) {
for (let y = cy - size; y <= yend; y++) {
for (let z = cz - size; z <= zend; z++) {
let dx = x - cx;
let dy = y - cy;
let dz = z - cz;
if (Math.round(Math.sqrt(dx * dx + dy * dy + dz * dz)) <= size) {
voxels.setVoxel(x, y, z, "air")
}
}
}
}
size - random(10);
cx += Math.cos(angle) * Math.cos(up) * radius;
cy += Math.sin(up) * radius;
cz += Math.sin(angle) * Math.cos(up) * radius;
}
}
}
// 第二种改法(推荐)
// 优点:模块化
// 缺点:复杂
//random.js
console.log("random: import sucessed");
function random(max, min) {
if (typeof min != "number") {
min = 0
};
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
module.export = { // require()会返回这个模块的module.export
random // 这里使用了对象的特殊语法,也可以写成 random: random
}
//dig.js
const { random } = require("./random.js"); // 解构赋值
var dig = [], y = 100;
let rundig = 0;
for (var deep = 0; deep < 71;) {
var max = random(20, 2);
deep += 1 + random(5);
for (var count = 0; count <= max; count++) {
var x = random(128), z = random(128);
dig.push([
x,
y - deep,
z,
random(100),
random(4, 10),
random(180, -180),
random(180, -180),
]);
};
};
c.log("over", dig.length);
if (rundig) {
for (var count = 0; count < dig.length; count++) {
sleep(1000);
c.log(count);
for (
var diglen = dig[count][3];
dig <= diglen;
diglen++) {
var
cx = dig[count][0],
cy = dig[count][1],
cz = dig[count][2],
size = dig[count][4],
up = dig[count][5],
angle = dig[count][6],
radius = random(5, 3);
let xend = cx + size,
yend = cy + size,
zend = cz + size;
for (let x = cx - size; x <= xend; x++) {
for (let y = cy - size; y <= yend; y++) {
for (let z = cz - size; z <= zend; z++) {
let dx = x - cx;
let dy = y - cy;
let dz = z - cz;
if (Math.round(Math.sqrt(dx * dx + dy * dy + dz * dz)) <= size) {
voxels.setVoxel(x, y, z, "air")
}
}
}
}
size - random(10);
cx += Math.cos(angle) * Math.cos(up) * radius;
cy += Math.sin(up) * radius;
cz += Math.sin(angle) * Math.cos(up) * radius;
}
}
}点赞0
评论
limit_breakr长知识了()
var
cx = dig[count][0],
cy = dig[count][1],
cz = dig[count][2],
size = dig[count][4],
up = dig[count][5],
angle = dig[count][6],
radius = random(5, 3)
;
可以缩写成
var [cx,cy,cz,,size,,up,angle] = dig[count],
radius = random(5,3);点赞0
评论