猫史档案馆


代码教学(优化代码~)很逊的(dog)

用户:抬头就是你抬头就是你查看:6 回复:12 评论:6 创建时间:2022-11-15T14:49:45


大家都知道啊,代码这种东西,写得好,1分钟搞定,那么写不好呢。。。。几个小时(真的会有这样的代码师)、

废话不多说,开始讲解~

第1个呢是大家熟知的switch分支了~~~~

switch这个东东啊,得看你咋用,用不好的话。。。。报错gg,不过呢,在你抬头大屑的“优化”下,变成这样~
/*   喵 版权所有 不可侵犯     */
const TEST_PLAYER = ['吉吉喵']

world.onChat(async ({ entity, message }) => {
    if (TEST_PLAYER.includes(entity.player.name)) {
        if (message == '特权') {
            const c = await entity.player.dialog({
                type: Box3DialogType.SELECT,
                contentTextColor: new Box3RGBAColor(0, 0, 0, 1),  // 对话框字体颜色。
                contentBackgroundColor: new Box3RGBAColor(1, 1, 1, 1), // 对话框背景颜色。
                lookEye: entity.position.add(entity.player.facingDirection.scale(5)), // 调整相机位置,摆在玩家朝向的前方5格距离。        
                type: Box3DialogType.SELECT,
                title: "特权",
                titleTextColor: new Box3RGBAColor(0, 0, 0, 1), // 标题字体颜色。
                titleBackgroundColor: new Box3RGBAColor(0.968, 0.702, 0.392, 1),
                content: `
                尊敬的管喵 ${entity.player.name} 请开始执行你的操作吧~
                请勿喵哦~
                如被举报就撤~~~`,
                options: ['飞行','取消飞行','隐身','关闭隐身','加速','减速','变大','变小'],
            })
            if (!c || c === null) {
            return;
            }   
            switch (c.value) {           
                case '飞行':
                entity.player.canFly = true
                entity.player.directMessage(`已开启飞行`);
                break;
                case '取消飞行':
                entity.player.canFly = false
                entity.player.directMessage(`已关闭飞行`);
                break;
                case '隐身':
                entity.player.invisible = true
                entity.player.showName = false
                entity.player.directMessage(`已开启隐身`)
                break;
                case '关闭隐身':
                entity.player.invisible = false
                entity.player.showName = true
                entity.player.directMessage(`已关闭隐身`)
                break;
                case '加速':
                entity.player.directMessage(`加速中……`)
                entity.player.walkSpeed *= 3
                entity.player.runSpeed *= 3
                entity.player.flySpeed *= 3
                break;
                case '减速':
                entity.player.directMessage(`减速中……`)
                entity.player.walkSpeed /= 2
                entity.player.runSpeed /= 2
                entity.player.flySpeed /= 2
                break;
                case '变大':
                entity.player.directMessage(`哇!变大了!`)
                entity.player.scale *= 13
                break;
                case '变小':
                entity.player.directMessage(`哇!变小了!`)
                entity.player.scale /= 4
                break;
            default:
            }
        }
    }
})
上面可见啊,喵是我的新坑(dog),拿走不谢~~~~~ 第2个是if语句(第3个也是~) 比如:
let op =['自己想~']  //前面的我没写~,不能直接放地图!!!
const msg = await entity.player.dialog({
            type: Box3DialogType.SELECT,
            title: '请选择复活方式',
            options: op,
        });
if (!msg || msg === null) {
            for (let t = 1; t <= 120; t++) {
                entity.player.directMessage(`倒计时 ${String(120 - t)} 秒后复活`);
                await sleep(1000);
            }
            return
        }
/*重点来了!*/

if (msg.index === 1) {
            let z = entity.item.indexOf('心脏起搏器')
            if (z != -1) {
                entity.item.splice(z, 1)
                entity.hp = entity.maxHp
            }
            else {
                entity.player.directMessage('你背包里没有心脏起搏器!')
            }
        }
/*不完整的代码~*/
​

此代码由妖无奈海代码师提供。。。(看到这里还不给个关注???)

下一个是由我写的代码,还是if语句。。。。基本每位代码师都要会。。。

 

                if (sel.value == '背包'){
                    await entity.player.dialog({
                        contentTextColor: new Box3RGBAColor(0, 0, 0, 1),  // 对话框字体颜色。
                        contentBackgroundColor: new Box3RGBAColor(1, 1, 1, 1), // 对话框背景颜色。
                        lookEye: entity.position.add(entity.player.facingDirection.scale(5)), // 调整相机位置,摆在玩家朝向的前方5格距离。                       
                        type: Box3DialogType.SELECT,
                        title: "背包",
                        titleTextColor: new Box3RGBAColor(0, 0, 0, 1), // 标题字体颜色。
                        titleBackgroundColor: new Box3RGBAColor(0.968, 0.702, 0.392, 1),
                        options: entity.bag                
                    })
                //不完整,因为不想写了~~~~

卑微抬头。。。。给个关注呗~~~~~~~


回复

上一页1 页 / 共 1下一页
抬头就是你抬头就是你

顶~

点赞0


评论


yee剑走天下yee剑走天下

switch个人不太喜欢)每个分支写完都要break,而且case要用冒号贼像py,格式化文档后格式也十分难看)

点赞2


评论


抬头就是你抬头就是你

顶!!!

点赞0


评论


抬头就是你抬头就是你

顶~~~

 

点赞0


评论


抬头就是你抬头就是你

顶!!!!

点赞0


评论


抬头就是你抬头就是你

确实,上面这些代码只是一部分,有很多优秀的代码等着们去发现!

点赞0


评论


抬头就是你抬头就是你

没人要啊。。

点赞0


评论


喜欢的干饭的鞋子喜欢的干饭的鞋子

 代码啥意思

点赞0


评论


是流萤喵是流萤喵

666

点赞0


评论


37303730

ddd

 

点赞0


评论


SCS_user_Avgdttb9eiSCS_user_Avgdttb9ei

em、。。。if不好用嘛。。

点赞0


评论


喵喵咪awa喵喵咪awa

ddd

点赞0


评论