TC官方合作论坛

 找回密码
 立即注册
查看: 4431|回复: 3

[TC5.0源码] 魔域自动寻路源码

[复制链接]
发表于 2018-3-31 13:27:00 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
好久没上过论坛了,丢个源码上来。好坏我就不评价了,我读书少,写的差勿喷

功能 自动寻路到(序号,当前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))
    结束
结束

评分

参与人数 1威望 +10 金币 +10 收起 理由
328661553 + 10 + 10

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2018-3-31 20:20:15 | 显示全部楼层
功能 处理(参数1,参数2)
    变量 得到=参数1+参数2
    如果(得到<0)
        返回 -1
    否则
        如果(得到==0)
            返回 0
        否则
            如果(得到>0)
                返回 1
            结束
        结束
    结束
结束
回复 支持 反对

使用道具 举报

发表于 2018-4-21 01:00:53 | 显示全部楼层
本帖最后由 q979033318 于 2018-4-21 01:07 编辑

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

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


紫狼留字____

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1威望 +10 金币 +10 收起 理由
328661553 + 10 + 10 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2022-1-24 20:56:53 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-19 22:30 , Processed in 0.050219 second(s), 27 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表