游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2567|回复: 5

没看懂这段代码

[复制链接]

21

主题

92

帖子

92

积分

注册会员

Rank: 2

积分
92
QQ
发表于 2007-11-6 10:54:00 | 显示全部楼层 |阅读模式
A* 算法找路径,看了好长时间,还是不知道每句的具体意思,烦哪位能详细解释一下

int GetNextAct( )
{
        int dx[4]={0,0,-1,1}; //四种移动方向对x和y坐标的影响
        int dy[4]={-1,1,0,0};
        int dis[4]; //按四个方向移动后离目标距离
        int order[4]; //四个方向搜索次序
        int t=32767;
        int tt=2;
        for (int i=0;i<4;i++)
        dis=abs(x+dx-TargetX)+abs(y+dy-TargetY);

          //这个是找出和目标点最近的点
        for (i=0;i<4;i++)
        if (dis<t)
        {
                order[0]=i+1;
                t=dis;
        }




         //下面开始就看不懂了...
        if (Act[Level]==0)
        {
                return order[0];
        }
        order[1]=-1;

        for (i=0;i<4;i++)
        {
                if ((dis==t)&&(i!=(order[0]-1)))
                {
                        order[1]=i+1;
                        break;
                }
        }

        if (order[1]!=-1)
        {
                for (i=0;i<4;i++)
                {
                        if (dis!=t)
                        {
                                order[tt]=i+1;
                                tt++;
                        }
                }
        }
        else
        {
                for (i=0;i<4;i++)
                {
                        if (dis!=t)
                        {
                                order[tt-1]=i+1;
                                tt++;
                        }
                }
        }

        if (Act[Level]==order[0])
                return order[1];
        if (Act[Level]==order[1])
                return order[2];
        if (Act[Level]==order[2])
                return order[3];
        if (Act[Level]==order[3])
                return 5;
}

14

主题

345

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
QQ
发表于 2007-11-7 03:27:00 | 显示全部楼层

Re:没看懂这段代码

干脆自己写个吧......

21

主题

92

帖子

92

积分

注册会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2007-11-9 20:08:00 | 显示全部楼层

Re:没看懂这段代码

但是能先解释一下这个代码吗?

3

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2007-11-21 23:45:00 | 显示全部楼层

Re:没看懂这段代码

在书上的话就一般都有注释啊!

21

主题

92

帖子

92

积分

注册会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2007-11-22 18:59:00 | 显示全部楼层

Re:没看懂这段代码

没有的啊,就上面注释的那么多了

21

主题

92

帖子

92

积分

注册会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2007-11-22 19:00:00 | 显示全部楼层

Re:没看懂这段代码

不明白他的
order[0]
order[1]
order[2]
order[3]

都代表什么? 是怎么算出来的?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-15 05:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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