猫史档案馆


生命游戏代码

用户:无极玄天无极玄天查看:0 回复:3 评论:0 创建时间:2022-09-03T09:47:26


方法:左键将方块变为红方块,右键变为白方块

当一个白方块周围3*3的范围内有3个红方块,改方块变为红方块

当一个红方块周围3*3有2或3个红方块时,改红方块不变,反之则变为白方块

代码:

let v=voxels.setVoxel;for(let e=0;e<=128;e++)for(let o=0;o<=128;o++)v(e,9,o,"white");world.onPress(({button:e,raycast:o})=>{const l=o.voxelIndex;"action0"===e?voxels.setVoxel(l.x,l.y,l.z,"red"):"action1"===e&&voxels.setVoxel(l.x,l.y,l.z,"white")}),world.onPlayerJoin(({entity:e})=>{e.player.cameraMode=Box3CameraMode.FPS,e.player.canFly=!0}),world.onChat(({entity:e,message:o})=>{if("喵"===o){for(let e=0;e<=128;e++)for(let o=0;o<=128;o++){let l=0;"105"==voxels.getVoxelId(e,9,o)?("105"==voxels.getVoxelId(e+1,9,o)&&(l+=1),"105"==voxels.getVoxelId(e-1,9,o)&&(l+=1),"105"==voxels.getVoxelId(e,9,o+1)&&(l+=1),"105"==voxels.getVoxelId(e,9,o-1)&&(l+=1),"105"==voxels.getVoxelId(e+1,9,o+1)&&(l+=1),"105"==voxels.getVoxelId(e-1,9,o-1)&&(l+=1),"105"==voxels.getVoxelId(e-1,9,o+1)&&(l+=1),"105"==voxels.getVoxelId(e+1,9,o-1)&&(l+=1),(l>=4||l<=1)&&v(e,9,o,"white")):"177"==voxels.getVoxelId(e,9,o)&&("105"==voxels.getVoxelId(e+1,9,o)&&(l+=1),"105"==voxels.getVoxelId(e-1,9,o)&&(l+=1),"105"==voxels.getVoxelId(e,9,o+1)&&(l+=1),"105"==voxels.getVoxelId(e,9,o-1)&&(l+=1),"105"==voxels.getVoxelId(e+1,9,o+1)&&(l+=1),"105"==voxels.getVoxelId(e-1,9,o-1)&&(l+=1),"105"==voxels.getVoxelId(e-1,9,o+1)&&(l+=1),"105"==voxels.getVoxelId(e+1,9,o-1)&&(l+=1),3==l&&v(e,9,o,"red"))}world.say("生命迭代完毕")}});


回复

上一页1 页 / 共 1下一页
145a145a

考古

点赞0


评论


0夏斐重度依赖00夏斐重度依赖0

代码咋发的?

点赞0


评论


0夏斐重度依赖00夏斐重度依赖0

谢谢你,成功了

点赞0


评论