[Konsola] Rozsuwająca się plansza przy grze w kółko i krzyżyk
Ostatnio zmodyfikowano 2013-03-21 22:30
| David Temat założony przez niniejszego użytkownika | [Konsola] Rozsuwająca się plansza przy grze w kółko i krzyżyk » 2013-03-21 21:42:57 Potrzebuje małej pomocy, ewentualnie wskazania błędu mojego rozumowania, chciałem napisać grę w kółko i krzyżyk w wersji pvp, niestety podczas gry przy wybraniu innego pola niż 1 plansza się "rozsuwa". Moglibyście mi pomóc? :) #include<iostream>using namespace std;
 
 
 char tab[ 5 ][ 5 ];
 int poziom = 196;
 int pion = 179;
 bool gracz = true;
 
 
 
 void plansza();
 void ruch();
 void rysowanie();
 
 
 int main()
 {
 plansza();
 ruch();
 system( "PAUSE" );
 return 0;
 }
 
 
 
 
 void plansza()
 {
 for( int i = 0; i < 5; i++ )
 {
 for( int j = 0; j < 5; j++ )
 {
 if( i % 2 == 0 && j % 2 == 0 ) cout <<( tab[ i ][ j ] = ' ' );
 
 if( i % 2 == 1 ) cout <<( tab[ i ][ j ] = poziom );
 
 if( i % 2 == 0 && j % 2 == 1 ) cout <<( tab[ i ][ j ] = pion );
 
 }
 cout << endl;
 }
 
 }
 void rysowanie()
 {
 for( int i = 0; i < 5; i++ )
 {
 for( int j = 0; j < 5; j++ )
 {
 if( i % 2 == 0 && j % 2 == 0 )
 {
 if( tab[ i ][ j ] != ' ' ) { }
 else cout <<( tab[ i ][ j ] = ' ' );
 
 }
 if( i % 2 == 1 ) cout <<( tab[ i ][ j ] = poziom );
 
 if( i % 2 == 0 && j % 2 == 1 ) cout <<( tab[ i ][ j ] = pion );
 
 }
 cout << endl;
 }
 
 }
 void ruch()
 {
 for( int postep = 0; postep < 9; postep++ )
 {
 
 cout << "Podaj pole: ";
 unsigned int pole = 0;
 cin >> pole;
 system( "cls" );
 
 if( pole < 1 || pole > 9 )
 {
 cout << "Bledne pole!";
 _sleep( 1500 );
 system( "cls" );
 }
 
 if( gracz == true )
 {
 if( pole == 1 ) cout <<( tab[ 0 ][ 0 ] = 'X' );
 
 if( pole == 2 ) cout <<( tab[ 2 ][ 0 ] = 'X' );
 
 if( pole == 3 ) cout <<( tab[ 4 ][ 0 ] = 'X' );
 
 if( pole == 4 ) cout <<( tab[ 0 ][ 2 ] = 'X' );
 
 if( pole == 5 ) cout <<( tab[ 2 ][ 2 ] = 'X' );
 
 if( pole == 6 ) cout <<( tab[ 4 ][ 2 ] = 'X' );
 
 if( pole == 7 ) cout <<( tab[ 0 ][ 4 ] = 'X' );
 
 if( pole == 8 ) cout <<( tab[ 2 ][ 4 ] = 'X' );
 
 if( pole == 9 ) cout <<( tab[ 4 ][ 4 ] = 'X' );
 
 gracz = false;
 }
 else
 {
 if( pole == 1 ) cout <<( tab[ 0 ][ 0 ] = 'O' );
 
 if( pole == 2 ) cout <<( tab[ 2 ][ 0 ] = 'O' );
 
 if( pole == 3 ) cout <<( tab[ 4 ][ 0 ] = 'O' );
 
 if( pole == 4 ) cout <<( tab[ 0 ][ 2 ] = 'O' );
 
 if( pole == 5 ) cout <<( tab[ 2 ][ 2 ] = 'O' );
 
 if( pole == 6 ) cout <<( tab[ 4 ][ 2 ] = 'O' );
 
 if( pole == 7 ) cout <<( tab[ 0 ][ 4 ] = 'O' );
 
 if( pole == 8 ) cout <<( tab[ 2 ][ 4 ] = 'O' );
 
 if( pole == 9 ) cout <<( tab[ 4 ][ 4 ] = 'O' );
 
 gracz = true;
 }
 rysowanie();
 }
 
 }
 
 | 
|  | 
| pekfos | » 2013-03-21 22:13:12 if( pole == 1 ) cout <<( tab[ 0 ][ 0 ] = 'O' );
 
if( tab[ i ][ j ] != ' ' ) { } else cout <<( tab[ i ][ j ] = ' ' );
 
 
Zastanów się nad sensem tych fragmentów (nad sensem wypisywania w pierwszym fragmencie i sensem przypisania w drugim). | 
|  | 
| David Temat założony przez niniejszego użytkownika | » 2013-03-21 22:30:08 Dobra, bardzo dziękuje przeanalizuje jeszcze raz te fragmenty. | 
|  | 
| « 1 » |