#include "mygrid.h" #include #include #include #include int find(int v,int map[][2],int NM) { for(int i=0; i < NM; i++) if(v==map[i][0]) return i; return -1; } void myDelay(float d) {//seconds clock_t tp = clock(); clock_t t; double time_taken = 0; do { t = clock() - tp; time_taken = ((double)t) / CLOCKS_PER_SEC; // calculate the elapsed time } while (time_taken < d); } void gotoxy(int x,int y) { printf("%c[%d;%df",0x1B,y,x); } void clrscr(void) { system("cls");//clear } void Grid_Show(ostream &out,int grid[_NR][_NC],int NR,int NC,int map[][2],int NM) { int i;//int pi=-1,pj=-1; for(int r=0;r=0){ cout << char(map[i][1]); } else{ out << grid[r][c];//myDelay(0.7); } } if(r _NR-1) || (col > _NC-1)) { stringstream ss; ss << "Out of Bounds!!! Max:" << _NR << "x" << _NC; throw logic_error(ss.str().c_str());//throw exception(ss.str().c_str()); } cPrev=c; switch(c) { case '0': case '1': { grid[row][col++] = atoi((const char *) &c); break; } case '2': { rStart=row; cStart=col; grid[row][col++]=0; } break; case '3': { rFinish=row; cFinish=col; grid[row][col++]=0; } break; case '\n': if(col>0) {row++;NCols=col;col=0;} break; default: grid[row][col++] = 1; } } if(row > 0 && (cPrev!='\n')) row++; NRows=row; }