猫史档案馆


[创作节]招人!会速建地形与开飞机代码过来看

用户:本喵已死本喵已死查看:1 回复:2 评论:1 创建时间:2022-04-08T02:29:34


神奇代码岛:未命名https://box3.fun/e/d7e0cb33bb5c448e7d75 其实就是将喵变战机 并且可以存档 后面会出关卡 竞速传说+飞机=飞机竞速传说(???) 空白地图是正常的,毕竟刚创建


回复

上一页1 页 / 共 1下一页
本喵已死本喵已死

排板呢

点赞0


评论


善良的星熊喵善良的星熊喵

/*VALUENOISE */
async function valuenoise(p1, p2, p3, p4, nv1, nv2, nv3, nv4, func){
    /**
     *  y
     *  ↑
     *  | (0,2) p3    (2,2) p4
     *  | (0,1) (1,1) (2,1) (3,1)
     *  | (0,0) p1    (2,0) p2
     *  +------------------------->x
     *  默认为矩形
     * 
     * eg:
     * p1(1,0) 
     * p2(3,0)
     * p3(1,2)
     * p4(3,2)
    */

    if(nv1 === void 0){
        nv1 = Math.floor(Math.random()*60)+1;
    }
    if(nv2 === void 0){
        nv2 = Math.floor(Math.random()*60)+1;
    }
    if(nv3 === void 0){
        nv3 = Math.floor(Math.random()*60)+1;
    }
    if(nv4 === void 0){
        nv4 = Math.floor(Math.random()*60)+1;
    }
    if(func === void 0){
        func = x => 6*x**5 - 15*x**4 + 10*x**3;
    }

    let p1x = p1.z;
    let p2x = p2.z;
    let p3x = p3.z;
    let p4x = p4.z;

    let p1y = p1.x;
    let p2y = p2.x;
    let p3y = p3.x;
    let p4y = p4.x;

    for(let x=p1.z;x<=p2.z;x++){
        for(let y=p1.x;y<=p3.x;y++){
            // if((x==p1.z || x==p2.z || x==p3.z || x==p4.z) && (y==p1.x || y==p2.x || y==p3.x || y==p4.x)){
            //     continue;
            // }

            let n1 = (func((x-p1x)/(p2x-p1x))*nv1 + func((p2x-x)/(p2x-p1x))*nv2);
            let n2 = (func((x-p3x)/(p4x-p3x))*nv3 + func((p4x-x)/(p4x-p3x))*nv4);

            let res = (func((y-p1y)/(p3y-p1y))*n1 + func((p3y-y)/(p3y-p1y))*n2);

            await sleep(1);

            for(let z=8;z<=res;z++){
                voxels.setVoxel(y,z,x,'stone');
            }
        }
    }
}

function gethight(x,z){
    for(let y=0;y<=喵;y++){
        if(voxels.getVoxelId(x,y,z)!=235){
            return y-1;
        }
    }
    return 114514;
}


!(async function(){
    for(let x=0;x<=256;x+=16){
        for(let z=0;z<=256;z+=16){
            for(let y=0;y<=Math.round(Math.random()*32)+32;y++){
                voxels.setVoxel(x,y,z,'carpet_08');
                voxels.setVoxel(x-1,y,z,'carpet_08');
                voxels.setVoxel(x,y,z-1,'carpet_08');
                voxels.setVoxel(x-1,y,z-1,'carpet_08');
            }
        }
    }
    for(let x=0;x<=256;x+=16){
        for(let z=0;z<=256;z+=16){
            valuenoise(
                new Box3Vector3(x,0,z), 
                new Box3Vector3(x,0,z+15),
                new Box3Vector3(x+15,0,z), 
                new Box3Vector3(x+15,0,z+15),
                gethight(x+15,z+15),
                gethight(x+15,z),
                gethight(x,z+15),
                gethight(x,z),
            )
            await sleep(100)
        }
    }
})()

点赞0


评论