用户:
好奇的土岩龙HHaS查看:1 回复:1 评论:1 创建时间:2024-01-23T16:54:46

async function sphere(a, b, x, y, z, vox) {
for (var n = 0; n <= 360; n++) {
voxels.setVoxel(x + a * Math.cos(n / 180 * Math.PI), y, z + b * Math.sin(n / 180 * Math.PI), vox)
}
}
async function draw_circle(x, y, z, n) {
for (var i = 5; i > 0; i -= 0.1) {
sphere(i * n, i * n / 1.25, x, y, z, 'dirt')
}
}
async function draw_ball(h, x, z, m, n) { //m是斜率,n是重心
for (var y = 9; y < h; y++) {
draw_circle(x + n * y, y, z, m * (h - y))
}
}
(async function () {
for (var i = 0; i < 200; i++) {
await draw_ball(30 + Math.random() * 10, Math.random() * 256, Math.random() * 256, Math.random() * 0.1 + 0.2, 0.2 - Math.random() * 0.4)
await sleep(5)
}
for (var x = 0; x < 256; x++) {
for (var z = 0; z < 256; z++) {
for (var y = 9; y < 40; y++) {
if (voxels.getVoxel(x, y, z) == voxels.id('dirt') && voxels.getVoxel(x, y + 1, z) == 0) {
voxels.setVoxel(x, y, z, 'grass')
}
}
}
await sleep(5)
}
for (var y = 8; y < 25; y++) {
for (var x = 0; x < 256; x++) {
for (var z = 0; z < 256; z++) {
if (voxels.getVoxel(x, y, z) == 0) {
voxels.setVoxel(x, y, z, 'water')
if (voxels.getVoxel(x, y - 1, z) == voxels.id('grass')) {
voxels.setVoxel(x, y - 1, z, 'dirt')
}
}
}
}
await sleep(5)
}
for (var y = 8; y < 25; y++) {
for (var x = 0; x < 256; x++) {
for (var z = 0; z < 256; z++) {
if (voxels.getVoxel(x, y, z) == voxels.id('grass')) {
if (voxels.getVoxel(x - 1, y, z) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
if (voxels.getVoxel(x + 1, y, z) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
if (voxels.getVoxel(x, y, z - 1) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
if (voxels.getVoxel(x - 1, y, z + 1) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
if (voxels.getVoxel(x - 1, y, z - 1) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
if (voxels.getVoxel(x + 1, y, z + 1) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
if (voxels.getVoxel(x + 1, y, z - 1) == voxels.id('water')) {
voxels.setVoxel(x, y, z, 'sand')
}
}
}
}
await sleep(5)
}
})()