#include #include #include #include #include #include #include #include #include bool move(apmatrix &table, int &horz, int&vert, int &counter, int roll); bool valid(apmatrix table, int horz, int vert, int roll); void display(apmatrix table); void main() { apmatrix table(9,9,0); apvector movecnt(8,0); int vert=1; int horz=1; int counter=2; bool board = 1; int roll=0; table[1][1]=1; //DONT USE THE 0 CELL AT ALL!!!!! display(table); while( board==1) { RandGen (r); roll=r.RandInt(1,8) ; cout<<"you roll was"< &table, int &horz, int&vert, int &counter, int roll) { switch(roll) { case 1: horz++; vert-=2; break; case 2: horz+=2; vert--; break; case 3: horz+=2; vert++; break; case 4: horz++; vert+=2; break; case 5: horz--; vert+=2; break; case 6: horz-=2; vert++; break; case 7: horz-=2; vert--; break; case 8: horz--; vert-=2; break; } bool vld = valid(table, horz,vert, roll); if(vld==1) { table[vert][horz]=counter; display(table); counter++; return 1; } else { cout<<"you landed off the or on a position you were already on--roll again" ; cin.get(); //return 1; } } //------CHECK TO SEE IF MOVE LANDS ON THE BOARD OR NOT oooor if THE PLAYER LANDS ON POSITION ALREADY VISITED----- bool valid(apmatrix table, int horz, int vert, int roll) { if (table[vert][horz]==0 && horz>0 && horz<8 && vert>0 && vert<8) return 1; else { switch(roll) { case 1: horz--; vert+=2; break; case 2: horz-=2; vert++; break; case 3: horz-=2; vert--; break; case 4: horz--; vert-=2; break; case 5: horz++; vert-=2; break; case 6: horz+=2; vert--; break; case 7: horz+=2; vert++; break; case 8: horz++; vert+=2; break; } return 0; } } //-----DISPLAY THE BOARD AND THE POSITIONS-------- void display(apmatrix table) { clrscr(); for(int row=1;row<9;row++) { for(int column=1; column<9; column++ ) { cout<