欢迎来到天天文库
浏览记录
ID:38343215
大小:26.94 KB
页数:24页
时间:2019-06-10
《电脑鼠上层算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include"Maze.h"/*********************************************************************************************************全局变量定义*********************************************************************************************************/staticuint8GucXStart=
2、0;/*起点横坐标*/staticuint8GucYStart=0;/*起点纵坐标*/staticuint8GucXGoal0=XDST0;/*终点X坐标,有两个值*/staticuint8GucXGoal1=XDST1;staticuint8GucYGoal0=YDST0;/*终点Y坐标,有两个值*/staticuint8GucYGoal1=YDST1;staticuint8GucMouseTask=WAIT;/*状态机,初始状态为等待*/staticuint8GucMapStep[MAZETYPE][
3、MAZETYPE]={0xff};/*保存各坐标的等高值*/staticMAZECOORGmcStack[MAZETYPE*MAZETYPE]={0};/*在mapStepEdit()中作堆栈使用*/staticMAZECOORGmcCrossway[MAZETYPE*MAZETYPE]={0};/*Main()中暂存未走过支路坐标*/staticintcX=0,cY=0;staticuint8b=0;staticuint8zz=0;staticuint8SEARCHMETHOD=1;/*********
4、**************************************************************************************************Functionname:Delay**Descriptions:延时函数**inputparameters:uiD:延时参数,值越大,延时越久**outputparameters:无**Returnedvalue:无************************************************
5、*********************************************************/voiddelay(uint32uiD){for(;uiD;uiD--);}/***********************************************************************************************************Functionname:mapStepEdit**Descriptions:制作以目标点为起点的等高
6、图**inputparameters:uiX:目的地横坐标**uiY:目的地纵坐标**outputparameters:GucMapStep[][]:各坐标上的等高值**Returnedvalue:无*********************************************************************************************************/voidmapStepEdit(int8cX,int8cY){uint8n=0;/*GmcStac
7、k[]下标*/uint8ucStep=1;/*等高值*/uint8ucStat=0;/*统计可前进的方向数*/uint8i,j;GmcStack[n].cX=cX;/*起点X值入栈*/GmcStack[n].cY=cY;/*起点Y值入栈*/n++;/**初始化各坐标等高值*/for(i=0;i8、X][cY]=ucStep++;/*填入等高值*//**对当前坐标格里可前进的方向统计*/ucStat=0;if((GucMapBlock[cX][cY]&0x01)&&/*前方有路*/(GucMapStep[cX][cY+1]>(ucStep))){/*前方等高值大于计划设定值*/ucStat++;/*可前进方向数加1*/}if((GucMapBlock[cX][cY]&0x02)&&/*右方有路*/(GucMapStep[
8、X][cY]=ucStep++;/*填入等高值*//**对当前坐标格里可前进的方向统计*/ucStat=0;if((GucMapBlock[cX][cY]&0x01)&&/*前方有路*/(GucMapStep[cX][cY+1]>(ucStep))){/*前方等高值大于计划设定值*/ucStat++;/*可前进方向数加1*/}if((GucMapBlock[cX][cY]&0x02)&&/*右方有路*/(GucMapStep[
此文档下载收益归作者所有