标题: 关于攻击范围内的判定
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-7-9 20:44 资料 短消息 看全部作者
关于攻击范围内的判定

这是我写得判断武将B是否在武将A的攻击范围内的代码:

0043E0D6     8B4D F8                    mov ecx,dword ptr ss:[ebp-8]
0043E0D9     E8 8252FCFF                call Ekd5.00403360
0043E0DE     50                         push eax
0043E0DF     8B4D FC                    mov ecx,dword ptr ss:[ebp-4]
0043E0E2     81C1 25040000              add ecx,425
0043E0E8     E8 B384FCFF                call Ekd5.004065A0
0043E0ED     8B4D F8                    mov ecx,dword ptr ss:[ebp-8]
0043E0F0     E8 C9170000                call Ekd5.0043F8BE
0043E0F5     8845 F4                    mov byte ptr ss:[ebp-C],al
0043E0F8     6A 00                      push 0
0043E0FA     6A 00                      push 0
0043E0FC     FF75 F4                    push dword ptr ss:[ebp-C]
0043E0FF     8B55 FC                    mov edx,dword ptr ss:[ebp-4]
0043E102     81C2 25040000              add edx,425
0043E108     52                         push edx
0043E109     8B4D F8                    mov ecx,dword ptr ss:[ebp-8]
0043E10C     E8 7584FFFF                call Ekd5.00436586
0043E111     3A45 0C                    cmp al,byte ptr ss:[ebp+C]
0043E114     75 05                      jnz short Ekd5.0043E11B
0043E116     33C0                       xor eax,eax
0043E118     40                         inc eax
0043E119     EB 02                      jmp short Ekd5.0043E11D
0043E11B     33C0                       xor eax,eax

[ebp-4]:4927F0
[ebp-8]:武将A战场内存地址
[ebp+C]:武将B战场编号

不知道为什么判断武将B是否在武将A的攻击范围内时有时成功,有时不成功,哪位大大能帮我检查下这段代码有没有问题,谢谢


顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-7-9 20:52 资料 短消息 看全部作者
呵呵,也是啊


顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2014-7-9 21:02 资料 短消息 看全部作者
这个攻击范围内的判断主要是为了下面3个特性:
齐射        主动射击后若周围2格内有装备弓的友军且目标也在友军的攻击范围内,则友军也会参与攻击
误导        主动射击后若周围5格内有装备弓的敌人且目标也在该敌人的攻击范围内,则可误导敌人攻击目标
支援        自身攻击范围内有敌军被友军攻击时,自己也会参与攻击

齐射的话就没有问题,误导的话因为攻击方与被攻击方同属一方这个判断就有问题,支援的话找不到star175大大写的支援攻击的代码地址就自己写个,不过支援有时成功,有时就不成功,就不知道判断攻击范围内的代码哪里出了问题。

[ 本帖最后由 aaa132536 于 2014-7-9 21:05 编辑 ]
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-11-28 19:02
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.009142 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP