00003 不思议迷宫.0009.2.4:自动换装:在事件中实现自动换装

本文详细介绍了在不思议迷宫游戏中如何实现自动换装功能,通过解析和模仿原版代码,实现装备和卸下操作,并在特定事件中自动调用这些操作。文章还探讨了在事件回调中触发自动换装的方法,以及处理游戏逻辑和套装加成的计算。
摘要由CSDN通过智能技术生成


00003 不思议迷宫.0009.2.4:自动换装:在事件中实现自动换装

具体的换装动作如何实现呢?老办法:学原版。在前一章中,我们已经接触过一个叫做“UIEquipsOperation”的东西。它就是专门用来显示装备信息和操作的,包括装备、卸下、分解等等。我们就看看它的“装备”和“卸下”按钮的回调:

    local function onEquipSetOnClick(sender,eventType)

        if eventType ==ccui.TouchEventType.ended  then

           AudioM.playFx("equip_put");

            if self.operateType ==EQUIP_OPERATE_EQUIP then

                -- 装备

                local type =EquipM.query(self.classId, "type");

                local equipClassId =EquipM.getEquip(type, 1);

                if not equipClassId then

                   DungeonActionM.go("do_equip", 0, self.classId);

 

                    -- 关闭当前界面

                    UIMgr.getCurrentScene():removeFormByName("UIEquipsOperation");

                    return;

                end

 

                -- 获得新装备增加的血量

                local newHp =self:getAttrib(self.classId, "max_hp");

                local newMp =self:getAttrib(self.classId, "max_mp");

 

                local oldHp =self:getAttrib(equipClassId, "max_hp");

                local oldMp =self:getAttrib(equipClassId, "max_mp");

 

                -- 考虑套装加成

                local oldEquipList = {};

                local newEquipList = {};

                    -- 遍历每个部位

                    for _, equiped inpairs(ME.user.equipments) do

                    -- 遍历该部位的所有已穿戴装备

                    for _, e in pairs(equiped)do

                        ifEquipM.isEquipment(e) then

DQN(深度 Q 网络)是一种深度强化学习算法,可用于训练智能体在迷宫等复杂环境采取最优策略。机器人自动迷宫可以通过 DQN 算法实现。 在机器人自动迷宫的应用,输入是由一个迷宫类实例化的对象。迷宫类可以包含迷宫的尺寸、墙壁的位置、起始位置和目标位置等信息。 DQN 算法的实现步骤如下: 1. 定义神经网络:创建一个深度神经网络模型,用于近似 Q 值函数。可以使用卷积神经网络或者全连接神经网络等。 2. 初始化 Q 表:创建一个空的 Q 表,用于记录每个状态和动作的 Q 值。 3. 初始化迷宫状态:将机器人放置在迷宫的起始位置。 4. 选择动作:根据当前状态,使用 ε-greedy 策略选择动作。ε 表示探索的概率。可以在开始时设置较高的ε,逐渐降低以增加利用经验的概率。 5. 执行动作:将机器人执行选择的动作,并根据环境的反馈更新状态。 6. 更新 Q 值:利用当前状态和环境反馈的奖励更新 Q 表,使用下述公式计算新的 Q 值: Q(s,a) = Q(s,a) + α * (r + γ * maxQ(s',a') - Q(s,a)) 其,α 是学习率,γ 是折扣因子,s' 是新的状态,a' 是根据ε-greedy策略选择的新动作,r 是环境反馈的奖励。 7. 跳转到步骤 4,直到机器人到达目标位置。 通过反复迭代,机器人学习到最优的策略,并在迷宫找到最短路径到达目标位置。 这就是使用 DQN 算法进行机器人自动迷宫的应用。该算法能够智能地学习并获得最优策略,而无需手动设计规则。它在其他复杂的问题也具有潜力,并且在实际应用取得了良好的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值