文档介绍:/**/#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>=