#include<iostream> #include<ctime> #include<cstdlib> #include<string> using namespace std; void delay( float sec ){ // cho nay dung float or int deu dc. clock_t be, fin; be = clock(); fin = be; while( fin - be <= sec ) fin = clock(); } void tho( int &t, int & n, int &toi_dich_t, string &str ){ n= rand() %10 + 1; if( n == 4 ){ str[t] = '.'; t += 9; if( t >= 70 ) t = 70, toi_dich_t = 1; str[t] = 'T'; } if( n == 5 ){ str[t] = '.'; t -= 12; if( t < 1 ) t = 1; str[t] ='T'; } if( n == 6 || n == 7 || n == 8 ){ str[t] = '.'; t += 1; if( t >= 70 ) t = 70, toi_dich_t = 1; str[t] = 'T'; } if( n == 9 || n == 10 ){ str[t] = '.'; t-= 2; if( t < 1 ) t = 1; str[t] = 'T'; } } void rua( int &r, int & n, int &toi_dich_r, string &str ){ n = rand() % 10 + 1; if( n <= 5 ){ str[r] = '.'; r+= 3; if( r >= 70 ) r = 70, toi_dich_r = 1; str[r] = 'R'; } if( n == 6 || n == 7 ){ str[r] = '.'; r -= 6; if( r < 1 ) r= 1; str[r] ='R'; } if( n == 8 || n == 9 || n == 10 ){ str[r] = '.'; r+= 1; if( r>= 70 ) r = 70, toi_dich_r = 1; str[r] = 'R'; } } void tho_rua(){ srand( time ( 0 ) ); int t, r, toi_dich_t, toi_dich_r, n; t = r = 1; toi_dich_t = toi_dich_r = 0; string str= " "; str+= 'O'; for( int i = 1; i < 70; i++ ) str += '.'; cout<<"\t\t\t--------- Bang ----------"<< endl; cout<<"\t\t\t------- Ouch!!! -------"; cout<< endl << str; while( toi_dich_t == 0 && toi_dich_r == 0 ){ rua( r, n, toi_dich_r, str ); tho( t, n, toi_dich_t, str ); if( t == r ){ cout<<"\t\t\t------- Ouch!!! -------"; str[r] = 'O'; cout<< endl << str; // in ra vi tri hai ae can nhau. } if( toi_dich_t == 0 && toi_dich_r == 0 && ( r != t ) ){ str[t] = 'T'; str[r] = 'R'; // dat lai vi tri rua, tho. cout<< endl << str; } if( toi_dich_t == 1 && toi_dich_r == 1 ){ cout<< endl << str; cout<<"\t\t\t------------ Tho & Rua Dong Hang! ------------"; } if( toi_dich_t == 1 ){ cout<< endl << str; cout<<"\t\t\t-----------Tho Thang! -----------"; } if( toi_dich_r == 1 ){ cout << endl <<str; cout<<"\t\t\t-----------Rua Thang! -----------"; } delay( 100 ); } } int main(){ tho_rua(); cout<< endl; return 0; }
0 nhận xét:
Đăng nhận xét