JAVASCRIPT 版本A×寻路算法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVASCRIPT 版本A×寻路算法

? 说到做游戏,必不可少的需要用到寻路算法,一般游戏里的寻路算法大多数都以A*算法为主,这里也就实现了js里采用a*寻路的程序。?????当然,这个寻路算法也不是最优化的,像幻宇开发的“交点寻径法”也是个中精品,两者可谓各有千秋,只是如果地图很大的情况下,我们会惊讶于“交点寻径法”的迅速。htmlheadtitleuse A* to find path.../title/headbody style=margin:0pxscript/*written by 百晓生email:jsrpg@126.comqq:156809986msn:jscript_rpg@*/varcloselist=new Array(),openlist=new Array();vargw=10,gh=10,gwh=14;varp_start=new Array(2),p_end=new Array(2);vars_path,n_path=;varnum,bg,flag=0;var w=32,h=32;function GetRound(pos){? var a=new Array();? a[0]=(pos[0]+1)+,+(pos[1]-1);? a[1]=(pos[0]+1)+,+pos[1];? a[2]=(pos[0]+1)+,+(pos[1]+1);? a[3]=pos[0]+,+(pos[1]+1);? a[4]=(pos[0]-1)+,+(pos[1]+1);? a[5]=(pos[0]-1)+,+pos[1];? a[6]=(pos[0]-1)+,+(pos[1]-1);? a[7]=pos[0]+,+(pos[1]-1);? return a;}function GetF(arr){? vart,G,H,F;? for(vari=0;iarr.length;i++){??? t=arr[i].split(,);??? t[0]=parseInt(t[0]);t[1]=parseInt(t[1]);??? if(IsOutScreen([t[0],t[1]])||IsPass(arr[i])||InClose([t[0],t[1]])||IsStart([t[0],t[1]])||!IsInTurn([t[0],t[1]]))??????? continue;??? if((t[0]-s_path[3][0])*(t[1]-s_path[3][1])!=0)??????? G=s_path[1]+gwh;??? else??????? G=s_path[1]+gw;??? if(InOpen([t[0],t[1]])){??????? if(Gopenlist[num][1]){????????? openlist[num][0]=(G+openlist[num][2]);????????? openlist[num][1]=G;????????? openlist[num][4]=s_path[3];??????? }??????? else{G=openlist[num][1];}??? }??? else{??????? H=(Math.abs(p_end[0]-t[0])+Math.abs(p_end[1]-t[1]))*gw;??????? F=G+H;??????? arr[i]=new Array();??????? arr[i][0]=F;arr[i][1]=G;arr[i][2]=H;arr[i][3]=[t[0],t[1]];arr[i][4]=s_path[3];??????? openlist[openlist.length]=arr[i];??? }??? if(maptt.rows[t[1]].cells[t[0]].style.backgroundColor!=#ccccccmaptt.rows[t[1]].cells[t[0]].style.backgroundColor!=#0000ffmaptt.rows[t[1]].cells[t[0]].style.backgroundColor!=#ff0000maptt.rows[t[1]].cells[t[0]].style.backgroundColor!=#00ff00)??? {??????? maptt.rows[t[1]].cells[t[0]].style.backgroundColor=#FF00FF;??????? //maptt.rows[t[1]].cells[t[0]].innerHTML=font color=white+G+/font;??? }? }}function IsStart(arr){? if(arr[0]==p_star

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档