1 / 30
文档名称:

蚂蚁算法源代码如下.doc

格式:doc   大小:100KB   页数:30页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

蚂蚁算法源代码如下.doc

上传人:neryka98 2019/4/15 文件大小:100 KB

下载得到文件列表

蚂蚁算法源代码如下.doc

文档介绍

文档介绍:/**/#defineSPACE0x20#defineESC0x1b#defineANT_CHAR_EMPTY'+'#defineANT_CHAR_FOOD153#defineHOME_CHAR'H'#defineFOOD_CHAR'F'#defineFOOD_CHAR2'f'#defineFOOD_HOME_COLOR12#defineBLOCK_CHAR177#defineMAX_ANT50#defineINI_SPEED3#defineMAXX80#defineMAXY23#defineMAX_FOOD10000#ARGET_FOOD200#defineMAX_SMELL5000###defineANT_EYESHOT3#defineSMELL_GONE_SPEED50##RACE_REMEMBER50#defineMAX_BLOCK100#defineNULL0#defineUP1#defineDOWN2#defineLEFT3#defineRIGHT4#defineSMELL_TYPE_FOOD0#defineSMELL_TYPE_HOME1#include""#include""#include""#include""#include""#include""#include""#include""voidWorldInitial(void);voidBlockInitial(void);voidCreatBlock(void);voidSaveBlock(void);voidLoadBlock(void);voidHomeFoodInitial(void);voidAntInitial(void);voidWorldChange(void);voidAntMove(void);voidAntOneStep(void);voidDealKey(charkey);voidClearSmellDisp(void);voidDispSmell(inttype);intAntNextDir(intxxx,intyyy,intddir);intGetMaxSmell(inttype,intxxx,intyyy,intddir);intIsTrace(intxxx,intyyy);intMaxLocation(intnum1,intnum2,intnum3);intCanGo(intxxx,intyyy,intddir);intJudgeCanGo(intxxx,intyyy);intTurnLeft(intddir);intTurnRight(intddir);intTurnBack(intddir);intMainTimer(void);charWaitForKey(um);voidDispPlayTime(void);intTimeUse(void);voidHideCur(void);voidResetCur(void);/*---------------*/structHomeStruct{intxxx,yyy;intamount;intTargetFood;}home;structFoodStruct{intxxx,yyy;intamount;}food;structAntStruct{intxxx,yyy;intdir;intspeed;intSpeedTimer;intfood;intSmellAmount[2];inttracex[TRACE_REMEMBER];inttracey[TRACE_REMEMBER];intTracePtr;intIQ;}ant[MAX_ANT];intAntNow;inttimer10ms;structtimestarttime,endtime;intSmell[2][MAXX+1][MAXY+1];intblock[MAXX+1][MAXY+1];imer;intSmellDispFlag;intCanFindFood;intHardtoFindPath;/*-----Main--------*/voidmain(void){charKeyPress;inttu;clrscr();HideCur();WorldInitial();do{timer10ms=MainTimer();if(timer10ms)AntMove();if(timer10ms)WorldChange();tu=TimeUse();if(tu>=