迷宫求解的过程演示(10) SPoint *StartSPoint; SPoint *CurrentSPoint; SPoint *StopSPoint;//=new SPoint(); TPoint StartPoint; TPoint StopPoint; int tCount=0; AlreadPassList->Clear(); for(int l=0;l<LabyrinthRow;l++) for(int k=0;k<LabyrinthCol;k++) { if(LabyrinthData[l*LabyrinthCol+k]==STATE_ENTRY) { StartPoint.x=k; StartPoint.y=l; tCount++; break; } if(LabyrinthData[l*LabyrinthCol+k]==STATE_END) { StopPoint.x=k; StopPoint.y=l; tCount++; break;
} if(tCount==2) break; }
if(tStartPoint!=NULL) CurrentSPoint=new SPoint(*tStartPoint); else CurrentSPoint=new SPoint(StartPoint); StopSPoint=new SPoint(StopPoint); StartSPoint=CurrentSPoint; if(CurrentSPoint->X>StopSPoint->X) CurrentSPoint->PriorityDirection=4; else CurrentSPoint->PriorityDirection=2;
CShed<SPoint>tShed;
int NowState; int CX,CY; while(1) { if(PowerExit) break; do{ if(PowerExit) break;