TC官方合作论坛

标题: 魔域自动寻路源码 [打印本页]

作者: 312120292    时间: 2018-3-31 13:27
标题: 魔域自动寻路源码
好久没上过论坛了,丢个源码上来。好坏我就不评价了,我读书少,写的差勿喷

功能 自动寻路到(序号,当前X,当前Y,到达X,到达Y)
    调试输出("执行移动到:"&到达X&","&到达Y)
    变量 游戏距离X,屏幕距离X,比例,BP,OB,角COA,角OBP,OP,角BOP,角POD,OD,DP,点击距离X,点击距离Y,点击X,点击Y,角OPB
    变量 角COB,角OAP,原OB,原BP,处理结果,角BOD,pi
    pi=4*数学反正切值(1)
    游戏距离X=16
    屏幕距离X=数学开方(512*512+256*256)
    比例=屏幕距离X/游戏距离X
    原BP=到达X-当前X
    原OB=到达Y-当前Y
    OB=数学绝对值(原OB)
    BP=数学绝对值(原BP)
    处理结果=处理(原OB,原BP)
    如果(原BP==0&&原OB==0)
        调试输出("人物就在目的地!")
        OD=0
        DP=0
    否则
        如果(原BP*原OB>=0)
            角COA=数学反正切值(0.5)
            角OBP=2*角COA
            OP=数学开方(OB*OB+BP*BP-2*BP*OB*数学余弦值(角OBP))
            如果(OB>=BP)
                角BOP=数学反余弦值((OB*OB+OP*OP-BP*BP)/(2*OB*OP))
                角POD=角COA+角BOP
                OD=-OP*数学余弦值(角POD)*处理结果
                DP=OP*数学正弦值(角POD)*处理结果
            否则
                角OPB=数学反余弦值((OP*OP+BP*BP-OB*OB)/(2*OP*BP))
                角POD=角COA+角OPB
                OD=OP*数学余弦值(角POD)*处理结果
                DP=OP*数学正弦值(角POD)*处理结果
            结束
        否则
            如果(原BP*原OB<=0)
                角BOD=数学反正切值(0.5)
                角OBP=pi-2*角BOD
                OP=数学开方(OB*OB+BP*BP-2*BP*OB*数学余弦值(角OBP))
                如果(OB>=BP)
                    角BOP=数学反余弦值((OB*OB+OP*OP-BP*BP)/(2*OB*OP))
                    角POD=角BOD-角BOP
                    如果(原OB>=0&&原BP<=0)
                        OD=-OP*数学余弦值(角POD)
                        DP=OP*数学正弦值(角POD)
                    否则
                        OD=OP*数学余弦值(角POD)
                        DP=-OP*数学正弦值(角POD)
                    结束
                否则
                    角BOP=数学反余弦值((OP*OP+OB*OB-BP*BP)/(2*OB*OP))
                    角POD=角BOP-角BOD
                    如果(原OB>=0&&原BP<=0)
                        OD=-OP*数学余弦值(角POD)
                        DP=-OP*数学正弦值(角POD)
                    否则
                        OD=OP*数学余弦值(角POD)
                        DP=OP*数学正弦值(角POD)
                    结束
                结束
            结束
        结束
        点击距离X=取整(OD*比例)
        点击距离Y=取整(DP*比例)
        点击X=512+点击距离X
        点击Y=384+点击距离Y
        调试输出("执行点击坐标:"&点击X&","&点击Y)
        大漠[序号].MoveTo(点击X,点击Y)
        等待(30,50)
        大漠[序号].LeftClick()
        等待(随机数(300,500))
    结束
结束

作者: 312120292    时间: 2018-3-31 20:20
功能 处理(参数1,参数2)
    变量 得到=参数1+参数2
    如果(得到<0)
        返回 -1
    否则
        如果(得到==0)
            返回 0
        否则
            如果(得到>0)
                返回 1
            结束
        结束
    结束
结束
作者: q979033318    时间: 2018-4-21 01:00
本帖最后由 q979033318 于 2018-4-21 01:07 编辑

我来帮楼上补充一下!有兴趣可以加群:199975725 一起玩玩哟!我来帮楼上补充一下!有兴趣可以加群:199975725 一起玩玩哟!

最完美的方法是读句柄,这里我就不写了!


紫狼留字____





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1