__attribute__((constructor)) void init(void) { createmap(); }
int main() { step ps; int key; int row=1,line=1; init(WHITE); createmap(&ps); drawmap(BLUE); drawpeople(row,line,RED); while(1) { key=bioskey(0); switch(key) { case UP:if(path[row-1][line]==0) { drawpeople(row,line,WHITE); row--; drawpeople(row,line,RED); }break; case DOWN:if(path[row+1][line]==0) { drawpeople(row,line,WHITE); row++; drawpeople(row,line,RED); }break; case RIGHT:if(path[row][line+1]==0) { drawpeople(row,line,WHITE); line++; drawpeople(row,line,RED); }break; case LEFT:if(path[row][line-1]==0) { drawpeople(row,line,WHITE); line--; drawpeople(row,line,RED); }break; case ESC:closegraph();exit(0); break; case BS: computermove(row,line,&ps); del_23(); getch(); cleardevice(); drawmap(BLUE); drawpeople(row,line,RED); default :break; } if(line==(N-2)&&row==(N-2)) { closegraph(); printf("\n\n\n\n\t\t\t\tGood Job"); sleep(5); break; } } return 1; }