用户:
无极玄天查看:13 回复:10 评论:13 创建时间:2022-09-10T16:28:25
展示:

代码:
let s = voxels.setVoxel;
let g = voxels.getVoxel;
async function 地皮(x, y, z) {
for (let i = 0; i <= 8; i++) {
for (let p = 0; p < +8; p++) {
s(x - 4 + i, y, z - 4 + p, "dirt");
}
}
}
async function 随机地形(起始高度, 凹凸度) {
for (let y = 0; y <= 128; y++) {
for (let x = 0; x <= 256; x++) {
for (let z = 0; z <= 256; z++) {
if (g(x, y, z) != "0") {
s(x, y, z, "air");
}
}
}
await sleep(5);
}
for (let v = 0; v <= 8; v++) {
地皮(
Math.floor(Math.random() * 256),
起始高度 + 1,
Math.floor(Math.random() * 256)
);
}
for (let x = 0; x <= 256; x++) {
for (let z = 0; z <= 256; z++) {
s(x, 起始高度, z, "dirt");
}
await sleep(5);
}
let poop = 100;
for (let y = 起始高度; y <= 凹凸度; y++) {
poop -= 100 / (凹凸度 - 起始高度);
for (let x = 0; x <= 256; x++) {
for (let z = 0; z <= 256; z++) {
if (Math.random() * 100 <= poop) {
if (g(x + 1, y, z) != "0" || g(x - 1, y, z) != "0") {
s(x, y, z, "dirt");
} else if (g(x, y, z + 1) != "0" || g(x, y, z - 1) != "0") {
s(x, y, z, "dirt");
} else if (
g(x + 1, y, z + 1) != "0" ||
g(x + 1, y, z - 1) != "0" ||
g(x - 1, y, z + 1) != "0" ||
g(x - 1, y, z - 1) != "0"
) {
s(x, y, z, "dirt");
} else if (Math.random() * 200 <= poop && g(x, y - 1, z) != "0") {
s(x, y, z, "dirt");
}
}
}
}
await sleep(10);
}
for (let y = 起始高度; y <= 凹凸度; y++) {
for (let x = 0; x <= 256; x++) {
for (let z = 0; z <= 256; z++) {
if (g(x, y, z) != "0") {
if (
g(x, y + 2, z) != "0" ||
g(x, y + 3, z) != "0" ||
g(x, y + 4, z) != "0" ||
g(x, y + 5, z) != "0"
) {
s(x, y + 1, z, "dirt");
}
}
if (g(x, y + 1, z) == "0" && g(x, y, z) != "0") {
s(x, y, z, "grass");
}
}
}
}
}
try {
随机地形(起始高度, 凹凸度);
} catch (e) {
随机地形(8, 80);
}
注意事项:
1.使用时需在该代码前加入一下2行代码:
let 起始高度=number(这个number里面填任意正整数,为该地形的最低y坐标,默认为8)
let 凹凸度=number(这个number里面填任意正整数,为该地形的凹凸程度,越大凹凸程度越大,默认为80)
2.使用时可能会卡顿,正常现象,可以试着退出重进
3.此代码可以输入控制台!
作者:无极玄天
萌新大佬啊啊啊啊啊你这代码可读性0啊啊啊啊怎么会有人用中文变量啊啊啊啊怎么想的啊啊啊啊啊imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%B4%A7%E5%BC%A0.gif"alt="emotion_编程猫_紧张"
点赞0
评论