Board logo

标题: 关于攻击范围内的判定 [打印本页]

作者: aaa132536    时间: 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的攻击范围内时有时成功,有时不成功,哪位大大能帮我检查下这段代码有没有问题,谢谢
作者: dennis2669    时间: 2014-7-9 20:49

我想lz..所謂的大大....現存於世..基本剩下star和god....
作者: aaa132536    时间: 2014-7-9 20:52

呵呵,也是啊
作者: aaa132536    时间: 2014-7-9 21:02

这个攻击范围内的判断主要是为了下面3个特性:
齐射        主动射击后若周围2格内有装备弓的友军且目标也在友军的攻击范围内,则友军也会参与攻击
误导        主动射击后若周围5格内有装备弓的敌人且目标也在该敌人的攻击范围内,则可误导敌人攻击目标
支援        自身攻击范围内有敌军被友军攻击时,自己也会参与攻击

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

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




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0