找回密码
 点一下
查看: 2491|回复: 12

单位组内 单位排列顺序研究

[复制链接]
发表于 2009-3-18 22:23:07 | 显示全部楼层 |阅读模式
刚回答某问题时 ,头目提醒了我同类型单位之间排列 和不同类型之间的 不一样,因此我重新测试了次

我的研究结论:
1.    单位组内 英雄和单位是区分开排列的   顺序:←←英雄单位|普通单位→→
2.    添加新的英雄或者单位时 如果单位组没有同类型的单位 那么就按 结论1的添加趋势  (新英雄 排最前 新普通单位排最后)
3.  如果单位组有同类型的单位 那么就会添加到同类型单位那块 同类型里 单位按handle大小排序(英雄单位那是大的排列在前面, 普通单位是大的排列后): [3←2←1]|[1→2→3]

测试地图`` 单位组里单位排列顺序.w3x (25 KB, 下载次数: 39)

欢迎指出不足``

评分

参与人数 2威望 +8 收起 理由
血戮魔动冰 + 1 优秀文章
kook + 7 认真的测试

查看全部评分

发表于 2009-3-18 22:30:31 | 显示全部楼层
测试果然需要细心呢~~
话说我上次就拿了一堆步兵和一堆骑士在那边试,完全没考虑过更多兵种和英雄的问题,唉唉
回复

使用道具 举报

发表于 2009-3-19 09:23:10 | 显示全部楼层
其实就是和你用鼠标把那些单位选中后,显示的排序一样的
回复

使用道具 举报

 楼主| 发表于 2009-3-19 12:22:47 | 显示全部楼层
其实不是=_=
QQ截图未命名.jpg
回复

使用道具 举报

 楼主| 发表于 2009-3-19 12:28:52 | 显示全部楼层
编队顺序是在物体编辑器-单位-状态-编队优先权 那设置的。。
回复

使用道具 举报

发表于 2009-3-19 15:35:09 | 显示全部楼层
哦,是我弄错了
回复

使用道具 举报

发表于 2009-3-19 15:37:42 | 显示全部楼层
好贴啊~~貌似可以用来做存储结构的说~~
回复

使用道具 举报

发表于 2009-3-20 07:18:21 | 显示全部楼层
单一兵种的时候怎么排列的?跟下面面板里的顺序一样吗?
回复

使用道具 举报

发表于 2009-3-20 09:37:20 | 显示全部楼层
1楼和2楼的头像为什么一样..
回复

使用道具 举报

 楼主| 发表于 2009-3-20 12:52:25 | 显示全部楼层
如果是第1次添加进那个单位组  那按结论1
如果以前进来过单位组 那就按 结论3
回复

使用道具 举报

 楼主| 发表于 2009-3-23 22:53:03 | 显示全部楼层
..又发现了...

如果原先进入单位组中的单位 被删除后 在他消失后 创建的第1个单位 进入单位组的话 会补位到 原来那个单位的位置 54handle大小.

而且..有时单位组 有出现特殊情况
不管是第几次添加 有的单位handle即使比别人大 也排在前面..不按顺序

以上测试的都是普通单位情况
真是无语了。。

单位组里单位排列顺序.w3x

30 KB, 下载次数: 12

回复

使用道具 举报

发表于 2009-3-26 13:35:33 | 显示全部楼层
unsigned long HashString(char *lpszFileName, unsigned long dwHashType)
{
    unsigned char *key = (unsigned char *)lpszFileName;
    unsigned long seed1 = 0x7FED7FED, seed2 = 0xEEEEEEEE;
    int ch;

    while(*key != 0)
    {

        ch = toupper(*key++);

        seed1 = cryptTable[(dwHashType << 8) + ch] ^ (seed1 + seed2);
        seed2 = ch + seed1 + seed2 + (seed2 << 5) + 3;
    }
    return seed1;
}
------------------
int GetHashTablePos(char *lpszString, SOMESTRUCTURE *lpTable, int nTableSize)
{
    int nHash = HashString(lpszString), nHashPos = nHash % nTableSize;

    if (lpTable[nHashPos].bExists && !strcmp(lpTable[nHashPos].pString, lpszString))
        return nHashPos;
    else
        return -1; //Error value
}
回复

使用道具 举报

发表于 2009-3-26 13:36:13 | 显示全部楼层
这个是暴雪的哈希算法,你可以去研究研究。
-实际表现出来的种种迹象均和这个哈希算法有关系。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-2 08:36 , Processed in 0.423985 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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